2015-05-07 91 views
1

我通過rvm install 2.1.2安裝了Ruby 2.1.2,但乘客使用1.9.3,其中我的寶石不可用。我發現錯誤乘客使用錯誤的Ruby版本

後,我試圖改變passenger_ruby/usr/local/rvm/gems/ruby-2.1.2但我得到這個錯誤:

passenger_ruby /usr/bin/ruby; 

和:

App 30033 stderr: *** ERROR ***: Cannot execute /usr/local/rvm/gems/ruby-2.2.2: Permission denied (13) 

所以我使用切換回正常的Ruby版本與/usr/bin/ruby我得到這個錯誤文檔: http://jsfiddle.net/p3pde70d/

那麼我該如何改變Passenger的Ruby版本爲2.1.x?

+0

歡迎來到Stack Overflow。不要使用jsfiddle的鏈接來顯示你得到的錯誤。相反,複製堆棧跟蹤並將其粘貼到您的問題中,正確格式化以使其可讀。鏈接受到破壞,將會破壞並無用,使您對其他人無用的問題。 –

+0

@theTinMan,我試圖在這裏粘貼堆棧跟蹤,但我沒有正確格式化。也許你可以從jsfiddle粘貼Stacktrace? – Evolutio

+0

這並不難,你只需要閱讀格式化文本的幫助文檔。 –

回答

2

可能需要在系統ruby下安裝bundler。

sudo gem install bundler 

雖然對於運行ruby 2.1.x,我建議不要在服務器設置中使用rvm或rbenv。最好爲該系統安裝新版本的ruby。我通常會編譯我想從源代碼版本。不知道你是什麼操作系統,但對於Debian系統,可以做這樣的事情:

sudo apt-get install build-essential 

,抓住所有必需的軟件編譯紅寶石一樣的東西。

cd ~ 
wget http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz # you may need to install wget through apt-get 

tar xvf ruby-2.2.2.tar.gz 
cd ruby-2.2.2.tar.gz 
./configure 
sudo make 
sudo make install 

注意配置步驟中的錯誤。它會告訴你,如果你錯過了任何進一步的依賴關係。成功完成後,應該更新系統紅寶石。從那裏安裝捆綁軟件:)

+0

我usw debian 7 :) 我該如何卸載rvm?我應該重新安裝整個服務器嗎?還是隻卸載rvm? – Evolutio

+1

不需要重新開始或任何事情。您可能需要重新安裝乘客,但我不確定。對於rvm'rvm implode'應該這樣做。也可以刪除'〜'下的.folder。確保更新任何將rvm添加到路徑的bashrc文件。 – agmcleod