有什麼好處&將東西安裝到RVM中@global gemset的缺點?
假設我想在同一臺服務器上安裝不同版本的rails。然後我希望能夠在同一臺服務器上安裝多個ruby應用程序,並將最少重複的文件保存在磁盤空間上。但是,我仍然想避免依賴性問題,寶石衝突問題和其他問題。將東西安裝到RVM中的@global gemset中有什麼好處和缺點?
我們還假設每個應用程序都有額外的寶石,我只需要它的本地項目gemset。
我會變得更好:
- 安裝兩種Rails 3根的和梁2個寶石到
@global
寶石- ...而對於他們的寶石使用的項目本地gemsets。 ..
- 安裝Rails 3轉換爲
@rails3
gemset,並將Rails 2轉換成@rails2
集...然後克隆我需要的每個項目?
例如:rvm use [email protected] && rvm gemset export rails3.gems
rvm use [email protected] && rvm gemset export rails2.gems
rvm use --create [email protected] && rvm gemset import rails3.gems
- 安裝在這裏更多的項目,當地的寶石...
rvm use --create [email protected] && rvm gemset import rails2.gems
- 安裝在這裏更多的項目,當地的寶石...
- 完全是另一回事...
在我的服務器環境中使用RVM的主要原因是能夠在可能不同版本的Ruby上託管多個應用程序(如果需要,甚至可以下載到修補程序級別)。服務器需要足夠的靈活性來承載N個任意應用程序,而不管他們是否使用Bundler,或者需要特定的環境來運行。把它看作是一個託管提供者環境,而不是一個開發服務器環境。 由於備份的大小,磁盤空間受到關注。 – TrinitronX 2011-05-20 15:47:48
我無法評論使用RVM運行共享主機環境的有效性。 – 2011-05-20 15:55:42