2012-01-03 39 views

回答

0

翻閱RVM文檔,我沒有看到具體的做法。但是,您可以通過@global gemsets和gemset複製複製的組合來近似它。

全局gemsets提供可用於給定ruby的所有寶石的寶石。例如: -

rvm install 1.9.3 
rvm --create [email protected] 
rvm --create [email protected] 
rvm use [email protected] 
gem install sqlite3 

將創建爲1.9.3紅寶石兩種不同gemsets,和全球的sqlite3會在兩個可用。

然後,一旦你完成了這個任務,你可以將全局gemset複製到其他ruby中,並且它們自己可以使用它。例如,上述的延續:

rvm install 1.8.7 
rvm gemset copy [email protected] [email protected] 

現在sqlite3的寶石適用於所有1.8.7 gemsets(假設我已經有了正確的順序的論點 - 我可能不會,在這種情況下,開關1.9.3和1.8.7)。這不太理想,因爲更新一個ruby並不會自動在其他ruby中顯示出來,你必須單獨複製到每個ruby,我想你可能最終會破壞你所擁有的任何依賴ruby的全局gems在每個設置。如果最後一點不是你預見的問題,那麼你可以寫一個腳本來避免前兩點暗示的乏味。

免責聲明:這是嚴格從閱讀通過RVM文檔放在一起,我沒有實際嘗試過。如果我有什麼問題,我很樂意編輯答案來解決問題。

5

可以執行:

rvm @global do gem install [gem_name] 

在全球範圍內安裝寶石(紅寶石每版)。

這是不可能安裝寶石全球每個紅寶石版本

根據https://rvm.io/gemsets/initial,您可以爲文件~/.rvm/gemsets/global.gems中的每個ruby版本定義自動安裝的gem。在這個文件中,你需要定義所需的寶石(每行一個),例如

bundler 
zeus 

每次向RVM添加新的ruby版本時,都會安裝這些gem。

相關問題