如何解决运行rails app服务器时发生[BUG]分段错误的问题?

时间:2016-03-22 07:27:17

标签: ruby-on-rails ruby rvm

我最近开始使用 rvm 来管理多个ruby版本。我已经建立了一个将使用Ruby 2.1.6的新项目。我已经为这个版本创建了一个新的gemset,并将它命名为“ruby2'”。在明确将ruby版本设置为2.1.6和新的gemset之后,我尝试运行我的rails应用程序并遇到以下错误

bin/rails s -p 3007
/home/knolly/.rvm/gems/ruby-2.1.6@ruby2/gems/json-1.8.3/lib/json/common.rb:67: [BUG] Segmentation fault
ruby 1.9.3p551 (2014-11-13) [x86_64-linux] Brightbox

-- Control frame information -----------------------------------------------
c:0045 p:---- s:0131 b:0131 l:000130 d:000130 CFUNC  :initialize
c:0044 p:---- s:0129 b:0129 l:000128 d:000128 CFUNC  :new
c:0043 p:0099 s:0126 b:0124 l:000123 d:000123 METHOD /home/knolly/.rvm/gems/ruby-2.1.6@ruby2/gems/json-1.8.3/lib/json/common.rb:67

我在StackOverflow上发现了一些帖子,它们提出了像gem pristine --all这样的修复,但无济于事。

在行中:

/home/knolly/.rvm/gems/ruby-2.1.6@ruby2/gems/json-1.8.3/lib/json/common.rb:67: [BUG] Segmentation fault
ruby 1.9.3p551 (2014-11-13) [x86_64-linux] Brightbox,

Rails似乎使用的是Ruby 1.9.3p551(我用于旧的应用程序),但rails console告诉我它使用的是2.1.6。

如何解决这个问题?

更新

我可以在bundle exec rails s -p 3007时运行该应用。如何使用bin/rails s运行它?

1 个答案:

答案 0 :(得分:0)

在你的应用程序的根目录中,创建一个名为.ruby-version的文件,在该文件中添加2.1.6,现在重新启动终端并进入应用程序的目录。默认情况下,您的应用会使用ruby 2.1.6

希望有所帮助!