如何让Phusion Passenger使用正确版本的Ruby?

时间:2011-11-28 14:45:09

标签: ruby-on-rails ruby rvm passenger

我的同事有一个使用Nginx,Phusion Passenger和RVM的Rails开发环境。当他试图加载一个项目时,它抱怨它需要一个不同版本的Ruby而不是可用的项目:

The given ruby environment requires ruby-1.9.2-p290 (versus ree-1.8.7-2011.03) (RVM::IncompatibleRubyError)

我们正在从REE转向MRI Ruby。这是我到目前为止所检查的内容:

    该目录中的
  • .rvmrcrvm use --create default@ourapp
  • rvm list default返回ruby-1.9.2-p290
  • 我们已更改并返回目录并看到它说它使用的是1.9.2
  • 根据我的判断,nginx的配置文件正确设置passenger_rootpassenger_ruby
  • Passenger已使用Ruby 1.9.2编译。

我还缺少其他什么吗?

2 个答案:

答案 0 :(得分:0)

Passenger必须使用特定版本的Ruby进行编译,并且从那时起就被锁定。如果不运行passenger-install-X-module方案,你不能只在RVM中切换它。

答案 1 :(得分:0)

如果你真的想使用不同的红宝石并且尊重RVM,请使用apache + unicorn。为apache安装mod_proxy和mod_rewrite模块,使用unicorn.conf设置unicorn_rails并运行'unicorn_rails -E production -D -c config / unicorn.conf'。假设您将独角兽的配置放在rails app的config目录中。