在生产中使用rails app中的json 1.8.1 gem问题

时间:2014-08-25 19:33:34

标签: ruby-on-rails ruby

我正在尝试配置我的服务器来托管我的rails应用。得到此错误

An error occurred while starting up the preloader. It exited before signalling successful startup back to Phusion Passenger. Please read this article for more information about this problem.

Raw process output:

/usr/local/rvm/gems/ruby-2.1.2/gems/json-1.8.1/lib/json/common.rb:67: [BUG] Segmentation fault
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

我正在使用RVM并从版本1.9.1迁移到ruby的2.1.2。任何指针都会有很大帮助。从最近2天开始疯狂设置服务器

3 个答案:

答案 0 :(得分:2)

根据提供的信息,似乎使用的ruby版本与gemset目录中标识的版本不匹配。也许this issue会有更多的亮点。

1)安装新版Ruby 2)将其设置为默认Ruby,或者创建一个.ruby-version文件,指定您希望在项目中使用哪个Ruby版本
3)导航到项目目录并键入ruby -v以验证正在使用的版本是否正确 4)使用bundler安装gem。您可能希望为此项目创建一个单独的gemset,以保持清洁和隔离 5)确定HTTP服务器和Phusion Passenger之间的正确配置。你在使用Apache还是nginx?两者都要求你在某处设置ruby版本,它需要point to your new Ruby installation(链接使用nginx作为例子)。

现在您安装了新版本的Ruby,并且本地命令行执行都使用它以及Phusion Passenger。重新启动服务器,看看它是否有效。如果没有,您需要提供逐步的详细信息,以便我们进一步提供帮助。

答案 1 :(得分:1)

试试这个:

尝试使用bundle exec rails s

运行服务器

OR

   remove the .bundle/ directory and re-bundle with rm -rf .bundle/ && then bundle

答案 2 :(得分:0)

我收到了同样的错误。 Rails还抛出了一个分段错误&核心转储。 Clobbering我的Gemfile.lock并重新运行bundle install就可以了:

rm Gemfile.lock
bundle install