【发布时间】:2013-03-23 02:32:46
【问题描述】:
我有一个主要运行 Ruby 1.8.7 的服务器,但现在我有一个需要 1.9.3 的 Rails 3.2 应用程序。我安装了Passenger 4,因为它支持在每个虚拟服务器上运行多个Ruby。
但是,虽然您可以分配特定的 Ruby,但应用程序似乎无权访问该 Ruby 的 gemset。因此,我的虚拟服务器配置了 1.9.3 Ruby,正如我的应用程序现在给出的错误页面上所确认的那样:
Ruby interpreter command
/home/aaron/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
但是 GEM_HOME 参数说明了一个不同的故事:
GEM_HOME = /home/aaron/.rvm/gems/ruby-1.8.7-p352
查看Passenger 4 的配置指令,我发现无法指定不同的gemset。是我遗漏了什么,还是这个东西还没有准备好迎接黄金时段?
【问题讨论】:
-
您是否使用 capistrano 进行部署?默认情况下,它会在本地安装 gems,从而完全绕过 GEM_HOME 中指定的路径。如果不是一个完整的解决方案,可能是一个可行的解决方法。
-
我将我的应用程序设置为通过 Capistrano 工作,但这不起作用。原来用Ruby 1.8.7 安装Passenger 4 是问题所在。当我在 1.9.3 下运行乘客 4 时,它工作正常。但这是不行的。 :-(
标签: ruby-on-rails apache passenger