2010-06-13 60 views
5

我喜歡RVM。我意識到它的主要用例是讓不同的用戶在不同版本的Ruby之間切換。但是,假設我正在將Rails應用程序部署到服務器,並且我只想運行單個版本的Ruby。特別是,我想要1.9.2,使用RVM安裝是一件輕而易舉的事情,但是如果沒有它,就會很痛苦。有沒有一種方法可以說「我希望這是所有用戶的標準Ruby安裝」(以及它的所有寶石),而不必手動創建一堆符號鏈接,並在每次更新到新的時候更改它們Ruby發佈?我可以使用RVM爲所有用戶維護單個版本的Ruby嗎?

回答

9

以root身份安裝RVM並執行sudo rvm use 1.9.2 --default。任何用戶採購/usr/local/rvm/scripts/rvm將默認有1.9.2。

+1

如果您對RVM有進一步的問題,有人願意全天候在freenode的#rvm頻道提供幫助:http://webchat.freenode.net/?channels=rvm。 – 2010-06-14 08:56:09

+0

我不確定你的意思是「任何用戶採購'/ usr/local/rvm/scripts/rvm'」......我在考慮:如果我有一臺運行我的Rails應用的Web服務器,我想確定它使用的是Ruby 1.9.2和相應的gem。我如何讓Web服務器用戶使用RVM? – 2010-06-14 14:16:39

+0

這真的取決於您使用的網絡服務器。採購意味着將該文件加載到您的環境中(即將'source/usr/local/rvm/scripts/rvm'行放在您的'/ etc/bashrc'中]。確保您的網絡服務器使用1.9.2與確保它使用系統紅寶石基本相同:它必須是第一個路徑。除此之外,這是rvm採購需要照顧的。 – 2010-06-14 14:50:30

3

我知道這並不完全回答你的問題,而是:

我遇到了幾個問題,在全球安裝RVM並採取使用同一個用戶帳戶的部署和所有的Ruby/Rails程序 - 用戶帳戶存在於所有開發和生產服務器上,並且.rvm目錄從一臺開發服務器同步到所有其他服務器。

你的應用服務器上有多少不同的用戶確實需要訪問Ruby 1.9.2? 你不能只修剪一個用戶嗎?這對我來說最合適。

注:

有一件事你可能要避免對您的應用服務器(一個或多個)上手動安裝RVM,然後應用程序服務器上安裝Ruby和寶石......你不希望保留的工具就像cc出於安全原因躺在你的生產服務器上! rsync的.rvm目錄更安全!結果更加一致!

相關問題