RVM:为什么我的RubyonRails项目仍然使用RubyVersion1.9.3运行,即使我使用的是1.9.2?

RVM:为什么我的RubyonRails项目仍然使用RubyVersion1.9.3运行,即使我使用的是1.9.2?,ruby,apache,rvm,passenger,Ruby,Apache,Rvm,Passenger,我正在使用RubyonRails3.2.2和RVM(RubyVersionManager)。通过使用RVM,我安装了2个Ruby版本:先是1.9.3,然后是1.9.2。运行rvm use--default 1.9.2命令行后,我关闭并重新打开了终端窗口。最后,我在终端窗口中运行以下命令行: $ which ruby /<MY_USER_PATH>/.rvm/rubies/ruby-1.9.2-p318/bin/ruby $ ruby -v ruby 1.9.2p318 (2012-

我正在使用RubyonRails3.2.2和RVM(RubyVersionManager)。通过使用RVM,我安装了2个Ruby版本:先是1.9.3,然后是1.9.2。运行
rvm use--default 1.9.2
命令行后,我关闭并重新打开了终端窗口。最后,我在终端窗口中运行以下命令行:

$ which ruby
/<MY_USER_PATH>/.rvm/rubies/ruby-1.9.2-p318/bin/ruby

$ ruby -v
ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-darwin10.8.0]
$which ruby
//.rvm/rubies/ruby-1.9.2-p318/bin/ruby
$ruby-v
ruby 1.9.2p318(2012-02-14修订版34678)[x86_64-darwin10.8.0]
但是,如果我在RubyonRails项目的视图文件中添加
代码,我会得到
RubyVersion1.9.3


为什么我的Ruby on Rails项目仍然使用Ruby 1.9.3版运行?如何使其在Ruby 1.9.2中运行?

我猜Apache(Passenger?)正在使用您的全局安装版本Ruby,它看起来像Ruby 1.9.2。做一个
sudosu
,然后尝试
哪个ruby
,看看你是否仍然指向ruby的RVM版本。该版本的Ruby是Apache正在使用的,您必须全局设置Ruby以允许Apache(Passenger)使用它

乘客不关心RVM,您需要使用您想要使用的Ruby版本编译乘客,并按照它的说明相应地设置Apache的配置

如果您想切换Ruby版本,则需要通过
Passenger安装Apache模块
重新安装Passenger的Apache模块,并按照说明进行操作

您可能会看到Apache配置中的指令指向特定的
ruby


如果您需要不同的Ruby版本与乘客,这可能会有所帮助。也值得一读。

您的项目目录中是否有
.rvmrc
文件?您是如何启动应用程序的?什么服务器?@Andrew Marshall-我正在使用Apache和虚拟主机。好吧,但Apache是如何与Ruby对话的?通过乘客?“还是它在代理杂种狗或类似动物?”安德鲁·马歇尔(Andrew Marshall)——通过乘客。