2012-05-10 37 views
8

當創建一個新的Rails應用程序,我得到以下錯誤:Rails的分段錯誤與RVM

/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault 
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0] 

要生成的文件出現在軌,但上面的錯誤仍然存​​在。任何想法或建議將不勝感激。

回答

16

它在我看來像一個LLVM GCC的問題,嘗試與GNU GCC。

做到這一點的最簡單的方法是安裝OSX,GCC的安裝程序,並重新安裝紅寶石:

rvm reinstall 1.9.3 

EDIT2:它也可以使用gcc-4.2通過自制軟件/ MacPorts的提供,安裝CommandLineTools並按照來自rvm requirements的說明。

編輯1:我周圍的一派,遇到這種http://www.seqmedia.com/2012/05/08/frustrations-abound-rvm-vs-macports-and-the-bug-segmentation-fault/ - 我記得它已經向我提到openssl在OSX壞了,最簡單的檢查方式,它是:

rvm get stable 
rvm autolibs enable 
rvm reinstall 1.9.3 
+0

謝謝,mpapis。我安裝了osx-gcc-installer並重新安裝了ruby,但仍然出現同樣的錯誤。 –

+2

檢查'rvm ruby​​-1.9.3-p194做ruby -rrbconfig -e「放入RbConfig :: CONFIG ['CC']」' - 它必須指向'gcc-4.2',如果它不請'rvm重新安裝1.9.3 --with-gcc = gcc-4.2' – mpapis

+0

嗨mpapis,再次感謝您的回覆!這裏是檢查的結果:$ rvm ruby​​-1.9.3 -p194 do ruby​​ -rrbconfig -e「puts RbConfig :: CONFIG ['CC']」 RVM版本1.13.4(主)已安裝1.13 .4(穩定)被加載。 請執行以下操作之一: *'rvm reload' *打開一個新shell *'echo rvm_auto_reload_flag = 1 >>〜/ .rvmrc'#用於自動重新加載msg。 *'echo rvm_auto_reload_flag = 2 >>〜/ .rvmrc'#用於靜音自動重新加載。 –

15

我用Google搜索周圍的這個問題,並發現了以下魔法咒語:

rvm pkg install openssl 
rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr 

對不起,不鏈接到一個源代碼,但我不記得哪個網站有制勝法寶。它的要點是,ruby與openssl的一個不好的版本鏈接,這樣做使得rvm安裝它自己的openssl版本並鏈接到ruby。

+0

爲我工作的感謝! –

+0

謝謝,這救了我的命! – michelegera

+0

作品 - 謝謝。 –

2

設法解決它:

更新RVM: RVM GET頭
安裝所需的庫: RVM要求運行
重新安裝1.9.3: RVM重新安裝1.9.3

運行了一段時間,看起來很乾淨

0

我修復了這個錯誤,全身裝上寶石並重新安裝Heroku工具帶。不知道爲什麼,但它爲我工作。