2011-08-19 78 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