乘客使用Ruby系统版本而不是RVM中的Ruby

时间:2013-04-01 19:53:27

标签: rvm passenger production-environment ruby-1.9.3 mod-rails

我在Debian环境中使用RVM(1.19),Passenger(3.0.19),Apache。

我尝试使用RVM将ruby版本从1.8.7更新到1.9.3。执行了以下步骤:

  • rvm install 1.9.3
  • rvm rvmrc to .ruby-version(在我的Rails app文件夹中)
  • rvm使用1.9.3&宝石安装乘客& rvm passenger-install-apache2-module(在我的1.9.3环境中安装passenger和apache2-module)
  • 在'/ etc / apache2 / mods-available /'中更新'mod_rails.load'文件:
LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p392/ruby
  • 最后,我重新启动了apache服务器。

毕竟,我的应用程序仍在使用Ruby 1.8.7,而Passenger正在从'/var/lib/gems/1.8/gems/'获取宝石。所以我猜Passenger忽略了mod_rails.load中的配置。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

ruby -v输出了什么?

如果1.8.7尝试rvm use 1.9.3并确保将1.9.3设置为默认值。

rvm default 1.9.3

并且您的.rvmrc来自.bash_profile类似的内容:

`[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"`

which rvm还会返回什么?这应该是您用来加载gems的文件路径的开头。它通常类似于/Users/local/.rvm