2013-08-19 54 views
5

嘿,我试图在新的ubuntu机器上安装rails。我安装了ruby和rvm,但我得到了“无法构建gem本机扩展”的错误。这是什么意思?无法构建gem本机扩展(mkmf(LoadError)) - Ubuntu 12.04

$ sudo gem install rails -v 3.2.9 

(不须藤说我没有权限)

然后它输出了大量的“获取”命令,最终这个错误:

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 

它说轨未安装

+0

你见过[这个线程](http://stackoverflow.com/questions/12552929/failed-to-build-gem-native-extension-rails-install?rq=1) –

+3

你不应该使用'sudo '用rvm! – mpapis

回答

16

的可能重复:

Unable to install gem - Failed to build gem native extension - cannot load such file -- mkmf (LoadError)

根据您的红宝石版本,运行:

sudo apt-get install ruby1.9.1-dev 
+0

-1解释请吗? – MrYoshiji

+4

用户使用'rvm'安装了ruby,使用'sudo'将他切换为rvm已安装的ruby(重置环境变量),您的解决方案并没有解释任何设置,只会设置用户继续'sudo'路径 – mpapis

+0

@mpapis我有这个发出很长时间之前,并用此命令修复它。此外,我链接的答案(作为AlthafHamez链接的答案)证明它可以解决mkmf LoadError的问题。你的答案在哪里解释了如何解决这个问题,为什么它不起作用? – MrYoshiji

5

如果您正在使用RVM,你应该永远不会成为使用 'sudo的'。使用sudo调用libs等出rvm路径。尝试只是一个单位:

gem install rails -v3.2.9 

看看是否有帮助。

+0

上帝的母亲这应该是答案。赞美你! – DtechNet

相关问题