无法构建本地扩展宝石(mkmf (LoadError)) - Ubuntu 12.04

6

嘿,我正在尝试在新的Ubuntu机器上安装Rails。我已经安装了Ruby和RVM,但是出现了“构建本地扩展宝石失败”的错误。这是什么意思?

$ sudo gem install rails -v 3.2.9

如果没有使用sudo,会提示我没有权限。

然后它会输出很多“fetching”命令,并最终出现以下错误:

    Building native extensions.  This could take a while...
    ERROR:  Error installing rails:
        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:1:in `<main>'


    Gem files will remain installed in /var/lib/gems/1.9.1/gems/json-1.8.0 for inspection.
    Results logged to /var/lib/gems/1.9.1/gems/json-1.8.0/ext/json/ext/generator/gem_make.out

当我输入时
$rails server

它说rails当前未安装


你看过这个帖子吗? - Althaf Hameez
3
不应该在 rvm 中使用 sudo 命令! - mpapis
2个回答

16

1
请解释一下-1是什么意思? - MrYoshiji
4
用户使用rvm安装了Ruby,使用sudo命令会使他退出rvm安装的Ruby(重置环境变量),您的解决方案并没有解释这一点,只是将用户设置为继续使用sudo路径。 - mpapis
@mpapis,我很久以前就遇到了这个问题,并用这个命令解决了它。此外,我链接的答案(就像AlthafHamez链接的那个)证明它可以解决mkmf LoadError的问题。你的回答在哪里?它解释了如何修复这个问题以及为什么它不起作用吗? - MrYoshiji
我不是因为知道更好而没有点赞,而是因为它会让用户感到困惑。 - mpapis

5
如果你在使用RVM,就不应该使用“sudo”。使用sudo会调用rvm路径之外的lib和其他内容。试试只使用以下命令:
gem install rails -v3.2.9

看看这是否有帮助。


天啊,这应该是答案。赞美你! - DtechNet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接