2011-08-19 73 views
5

執行bundle安裝後,我運行'rails s'它會遇到這個錯誤。運行'rails s'時出現分段錯誤

$ rails s 

/Users/XXXX/.rvm/gems/[email protected]/gems/json-1.5.3/ext/json/ext/json/ext/parser.bundle: [BUG] Segmentation fault 
ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0] 

Abort trap 

任何幫助將不勝感激。謝謝!

回答

0

新版本的Ruby 1.8.7引起了這個問題。不得不從過去降級到一級。

0

拉出json寶石,看看是否有用。如果他們不那麼我就迷路了。如果他們工作,那麼你必須弄清楚爲什麼這個寶石不會與你的rails版本和你的ruby版本兼容。

如果您在Gemfile.lock的看,你會看到一個寶石的「樹狀」,和嵌套的人是被從他們嵌套在一個依賴拉入的。看看你是否使用這個json gem來做一些重要的事情,或者如果它可以的話。

我有一個非常類似的問題,當我把我的Rails 3.0.9,並試圖將其部署到一個主機,只有在它有3.0.3上。事實證明,JSON寶石是一些軌道寶石的3.0.9版本...也許ActiveSupport?我不記得那部分。

你能告訴我們你使用的是什麼版本的導軌嗎?

+0

我很欣賞快速響應。這是一個非常大的應用程序,並且多個依賴項使用json gem。我們也使用rails 3.0.9。 – nbucciarelli

9
  1. RVM寶石空
  2. RVM使用稀土元素@我,寶石
  3. 創業板安裝捆綁
  4. 捆綁安裝

這解決了這個問題對我來說。必須是一些針對錯誤版本的Ruby編譯的擴展(在我的情況下)。希望對你有幫助!

如果你不使用RVM,我發現這個命令卸載所有寶石:

  1. 「寶石名單| cut -d「」-f1 | xargs的寶石卸載-aIx」
  2. 創業板安裝捆綁
  3. 捆綁安裝
+2

沒有爲我工作.. –

+0

rvm gemset empty爲我工作 –

4

你的寶石不編譯的Ruby版本所使用。我發現這個工作對我來說:

  1. RVM寶石空
  2. RVM寶石創建your_gem_set_name
  3. RVM使用[email protected]_gem_set_name --default
  4. 捆綁安裝
4

你也可以想嘗試使用bundle exec rails s

+0

這對我工作感謝! – Max