运行’rails s’时出现分段错误
在进行捆绑安装后,我运行’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
任何帮助将不胜感激。 谢谢!
- rvm gemset为空
- rvm使用ree @ my-gemset
- gem install bundler
- 捆绑安装
这解决了我的问题。 必须是针对错误版本的Ruby(在我的情况下)编译的一些扩展。 希望这对你有用!
如果您不使用RVM,我发现此命令可以卸载所有gem:
- ‘gem列表| cut -d“” – f1 | xargs gem uninstall -aIx’
- gem install bundler
- 捆绑安装
您的gemset未针对您正在使用的ruby版本进行编译。 我发现这对我有用:
- rvm gemset为空
- rvm gemset创建your_gem_set_name
- rvm使用1.8.7@your_gem_set_name –default
- 捆绑安装
您也可以尝试使用bundle exec rails s
拉出jsongem,看看是否有效。 如果他们没有,那么我就迷失了。 如果它们确实有效,那么你必须弄清楚为什么这个gem不适用于你的rails版本和你的ruby版本。
如果您查看Gemfile.lock,您将看到gems的“树视图”,嵌套的那些是由它们嵌套的依赖项所引入的。 看看你是否正在使用这个json gem进行重要的事情,或者它是否可以。
当我使用rails 3.0.9并尝试将其部署在只有3.0.3的主机上时,我遇到了一个非常类似的问题。 事实certificate,json gem是针对某些3.0.9版本的rails gem …也许是ActiveSupport? 我不记得那部分了。
你能告诉我们你使用的是什么版本的导轨吗?
新版本的Ruby 1.8.7导致了这个问题。 不得不从过去降级回到一个。