ruby on rails -安装gem失败,无法构建gem本地扩展-无法加载这样的文件- mkmf



RoR很好,但有时让我想用头撞墙(无论如何,这可能是我的错)。我只是想安装Thin web-client gem,当我运行sudo gem install thin时,我得到以下错误(它需要首先安装eventmachine gem):

    sudo gem install thin
    Fetching: eventmachine-1.0.1.gem (100%)
    Building native extensions.  This could take a while...
    ERROR:  Error installing thin:
            ERROR: Failed to build gem native extension.
            /usr/bin/ruby1.9.1 extconf.rb
            /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
            from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
            from extconf.rb:2:in `<main>'

我已经搜索了"无法加载这样的文件- mkmf"错误,但大多数问题似乎都围绕着这样一个事实,即它在1.8-dev中可用,而不是1.8,但是当我运行1.9.3时,我认为我有mkmf -我用locate mkmf验证了:

    /home/ubuntu/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb

mkmf所在的目录显然不在/usr/lib/ruby/…目录-我不确定这是否是我的问题,但它可能足以让你们中的一个专家在那里了解发生了什么以及解决方案是什么。

另外,我已经使用RVM来安装ruby 1.9.3,而不仅仅是gem install

提前感谢!

如果您正在使用RVM,则不应该使用'sudo'。使用sudo将库等调用到rvm路径之外。

gem install thin

,看看是否有帮助。

凯文

~

我在rvm之外有一个类似的错误,我发现我需要安装ruby-devel

我在Ubuntu 12.04中也有同样的问题。解决:

sudo apt-get install build-essential
sudo apt-get install curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev

尝试下面的命令,它将有助于解决问题

sudo gem install thin -- --with-cflags="-O2 -pipe -march=native -w"

我做到了:

sudo apt-get install ruby-dev

欢呼

最新更新