2012-03-12 95 views
4

我想在我的Debian 6系統上安裝rbenv進行生產。做這個的最好方式是什麼?我嘗試了一些github wiki頁面(https://github.com/sstephenson/rbenv/wiki/Using-rbenv-in-production和https://github.com/sstephenson/rbenv/wiki/shared-install-of-rbenv),但我想知道什麼是最佳實踐。Rbenv與乘客生產

安裝部署用戶還是系統範圍更好?使用部署用戶,似乎所有用戶都無法使用紅寶石,即使我使用rbenv global 1.9.3-p125進行安裝,並且gem commando也不可用。這必須是一些與我的路,因爲我只在.bashrc文件我部署用戶包括

if [[ -d $HOME/.rbenv ]]; then 
    export PATH="$HOME/.rbenv/bin:$PATH" 
    eval "$(rbenv init -)" 
fi 

。 passenger/apache知道我的紅寶石在哪裏嗎?因爲Apache正在與www-data用戶一起運行。

系統範圍的安裝(請參閱上面的共享安裝鏈接)我跑了一些奇怪的錯誤,rbenv命令沒有找到,無法編譯。

那麼,我該怎麼辦?我想將它用於我的生產服務器,以便將來可以輕鬆地在紅寶石之間切換。

+0

需要注意的是,不能對Passenger的Apache模塊使用不同的Ruby安裝,因爲它必須針對所使用的Ruby進行編譯,並且配置必須指向該安裝。 – 2012-03-12 15:56:47

+0

我知道這是不可能的。但是在未來,如果我想使用不同的ruby版本,我認爲使用rbenv進行切換會更容易,因爲它與正常的系統安裝是一樣的嗎? – 23tux 2012-03-12 16:13:38

回答

1

我個人會去部署用戶路線,並使用rbenv-sudo插件來處理乘客安裝,廚師或類似的事情。我認爲大多數人不使用rbenv或rvm進行生產,這是爲什麼一個lot of people are stuck on 1.8。這很遺憾,因爲如你所說,輕鬆切換Ruby版本會很好。話雖如此,生產不應該改變常常是正確的Ruby?通過使用來自Ruby源代碼的配置標誌,您可以非常輕鬆地管理ruby版本。只是不要安裝到/ usr/bin。

Sstephenson說共享安裝在shared-install-of-rbenv鏈接中是實驗性的。 Rbenv全球不會對用戶帳戶做任何事情。它在用戶帳戶中是全球性的。

在部署用戶之外,您需要多少個帳戶進行生產?

0

您應該指定用戶(該乘客使用)具有您的rbenv的訪問權限。