运行'rails s'时出现分段错误

时间:2011-08-19 01:49:00

标签: ruby-on-rails ruby ruby-on-rails-3 rvm

执行捆绑安装后,我运行'rails s'会遇到此错误。

$ rails s

/Users/XXXX/.rvm/gems/ruby-1.8.7-p352@r3/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

非常感谢任何帮助。谢谢!

5 个答案:

答案 0 :(得分:10)

  1. rvm gemset empty
  2. rvm使用ree @ my-gemset
  3. gem install bundler
  4. 捆绑安装
  5. 这解决了我的问题。必须是针对错误版本的Ruby编译的一些扩展(在我的例子中)。希望它适合你!

    如果你没有使用RVM,我发现这个命令可以卸载所有的gems:

    1. '宝石清单| cut -d“” - f1 | xargs gem uninstall -aIx'
    2. gem install bundler
    3. 捆绑安装

答案 1 :(得分:4)

您的gemset未针对您正在使用的ruby版本进行编译。我发现这对我有用:

  1. rvm gemset empty
  2. rvm gemset create your_gem_set_name
  3. rvm使用1.8.7@your_gem_set_name --default
  4. 捆绑安装

答案 2 :(得分:4)

您也可以尝试使用bundle exec rails s

答案 3 :(得分:0)

拔出json gem,看看是否有效。如果他们没有,那么我就输了。如果它们确实有效,那么你必须弄清楚为什么这个gem不适用于你的rails版本和你的ruby版本。

如果您查看Gemfile.lock,您将看到gems的“树视图”,嵌套的那些是由它们嵌套的依赖项所引入的。看看你是否正在使用这个json gem进行重要的事情,或者它是否可以使用。

当我使用rails 3.0.9并试图将其部署在只有3.0.3的主机上时,我遇到了一个非常类似的问题。事实证明,json gem是针对某些3.0.9版本的rails gem ...也许是ActiveSupport?我不记得那部分。

您能告诉我们您正在使用的导轨版本吗?

答案 4 :(得分:0)

新版本的Ruby 1.8.7导致了这个问题。不得不从过去降级到一个。

相关问题