RVMRuby版本管理工具
需要重新創(chuàng)建另一個 Ruby 編碼人員的開發(fā)環(huán)境?希望體驗最新版本的 JRuby?想要將您的工作隔離到一組特定的 gem 中?有了方便且聰明的 Ruby Version Manager,您可以完成所有這些以及更多的工作。
RVM是一個命令行工具,可以提供一個便捷的多版本ruby環(huán)境的管理和切換。它提供了以下重要的特性:
RVM 目前可構建超過 35 種實現(xiàn)。通過一條命令就可以下載、構建和安裝任意 Ruby 解釋器。
它創(chuàng)建和管理任意數(shù)量的 Ruby 環(huán)境,其中每個環(huán)境提供單獨的 Ruby 解釋器。因此,一個項目可以使用 JRuby,而在同一臺計算機上開發(fā)的另一個項目則可以指定最新的 MRI。
此外,每個環(huán)境可以擁有任意數(shù)量的分散 gem 集合。RVM 將每個集合適當?shù)胤Q為 gemset。您可以有一個與 JRuby 關聯(lián)的名為 auto_parts_store 的 gemset,以及一個與 MRI 版本 1.9.3 關聯(lián)的名為 auto_parts_store 的完全不同的 gemset。每個 gemset 在解釋器上下文中必須使用一個惟一名稱。
解釋器與 gemset 的結合(提供運行 Ruby 代碼和庫代碼主體的引擎)可通過 interpreter@gemset 符號輕松引用,其中,interpreter 是一個已知解釋器的名稱,而 gemset 是現(xiàn)有 gemset 的名稱。例如,1.8.7p302@acme 指的是面向該語言的 1.8.7 版本的 Ruby MRI 補丁級別 302,以及面向 Acme 網(wǎng)站的 gem 集合。gemset 可以使用任意名稱。各個解釋器的名稱由 RVM 提供。
在不同環(huán)境之間切換非常簡單。您需要鍵入以下命令:rvm interpreter@gemset。
通常,在您的主目錄中,每個環(huán)境都是自包含的和筒倉式 (siloed) 的。事實上,整個 RVM 系統(tǒng)都位于您的主目錄中,確保另一個用戶無法強制改寫或破壞您已經(jīng)集合的內(nèi)容,類似地,您也無法破壞其他用戶已經(jīng)集合的內(nèi)容。(您也可以集中安裝 RVM,但是這種做法不太常見)。
您可以對其中一個、一些或所有環(huán)境運行應用程序的測試套件。在本地運行 MRI,但是在服務器上使用 REE。使用 RVM 對兩者測試代碼,然后再正式使用這些修改。
RVM 允許您快速試用代碼組合,從而可以保持應用程序的穩(wěn)定和與時俱進。如果發(fā)布了一個新的 MRI,您可以在 RVM 中構建它,創(chuàng)建一個新的環(huán)境,運行測試,如果一切順利的話就可以使用這個新的 MRI 了。
RVM 的安裝非常簡單。只需要使用一條命令并對您的 shell 啟動腳本稍作更改即可。
curl -sSL https://get.rvm.io | bash -s stable
