2013-08-19 87 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

相關問題