2012-04-03 39 views
0

我正在使用Ruby on Rails 3.2.2和RVM(Ruby版本管理器)。通過使用RVM,我安裝了兩個Ruby版本:第一個1.9.3和第1.9.2。在運行rvm use --default 1.9.2命令行後,我關閉並重新打開終端窗口。最後,我跑在終端窗口中輸入以下命令行:RVM:即使我使用1.9.2,爲什麼我的Ruby on Rails項目仍然在運行Ruby 1.9.3版本?

$ 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] 

但是,如果我在Ruby on Rails項目的視圖文件中添加<%= "Ruby version #{RUBY_VERSION}" %>代碼我得到Ruby version 1.9.3

爲什麼我的Ruby on Rails項目仍在Ruby 1.9.3版本中運行?我如何使它在Ruby 1.9.2中運行?

+0

你的項目目錄中是否有'.rvmrc'文件? – 2012-04-03 17:02:41

+0

@Andrew Marshall - 編號 – user502052 2012-04-03 17:03:32

+1

你是如何開始你的應用程序?什麼服務器? – 2012-04-03 17:05:05

回答

1

乘客不關心RVM,您需要編譯您想使用的Ruby版本的Passenger,並按照其說明相應地設置Apache的配置。

如果您想切換Ruby版本,則需要通過passenger-install-apache-module重新安裝Passenger的Apache模塊並按照說明進行操作。

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

如果您需要與Passenger不同的Ruby版本,Phusion's blog post,這可能會有所幫助。 RVM's docs on Passenger integration也值得一讀。

0

我猜測Apache(Passenger?)正在使用您的全球安裝版本的Ruby,它看起來像Ruby 1.9.2。做一個sudo su,然後嘗試which ruby,看看你是否仍指向RVM版本的紅寶石。該版本的Ruby是Apache正在使用的版本,您必須全局設置ruby以允許Apache(Passenger)使用它。

相關問題