∞RVM 最佳實務
想要按照 Wayne 和 Michal 的方式使用 RVM 嗎?以下是使用 rvm 時能讓開發更輕鬆的訣竅和最佳實務。
∞清單
∞第 1 項 - 為每個個別專案使用 rvmrc 檔案。
專案特定的 rvmrc 能讓您輕鬆自動化一般工作流程。它不僅能讓您在處理應用程式時自動切換 Ruby,還能輕鬆自動化環境的開機作業。
∞第 2 項 - 將您的 rvmrc 檢查至原始碼控制。
將專案的 rvmrc 與您的應用程式一起檢查至原始碼控制中,能確保所有使用者在使用您的專案和 RVM 時擁有相符的環境,還能自動化 gemset 安裝等作業。
查看 rvm 儲存庫或 TEDxPerth 儲存庫中的範例 rvmrc 檔案。您也可以透過 cd 進入專案目錄來開機專案,前提是您的 $HOME/.rvmrc
中有 export rvm_project_rvmrc=1
。
除此之外,您還能自動讓您的部署設定應用程式特定的環境,即使您使用的是 passenger。
∞第 3 項 - 使用每個專案的 gemset。
每個專案的 gemset 會用於讓每個應用程式擁有自己不同的 gem 環境,協助您避免因版本衝突而產生的問題。在大部分情況下,這會在選擇 Ruby 時使用類似「2.1.1@your-app」而不是「2.1.1」(例如在您的 rvmrc 中)。
更棒的是,將其與第 1 項和第 2 項結合,表示您和任何其他使用者都會自動擁有正確版本的 gemset。如果您使用 bundler,RVM 甚至會為您設定 BUNDLE_PATH,讓您的 gem 目錄與 bundler 放置 gem 的位置相同。
∞第 4 項 - 盡可能使用 rvm 進行部署。
使用 RVM 進行開發不僅是個好主意,盡可能使用 RVM 部署您的應用程式也是個好主意。這會帶來應用程式特定環境的一般優點,還能讓您更輕鬆追蹤開發後期在製作環境中發生的特定版本錯誤。這主要是因為它確保了兩個環境之間合理相符。
更棒的是,當需要升級 Ruby 時,RVM 可以透過「rvm upgrade」指令協助你完成。
∞第 5 項 - 將 RVM 整合到你的工具中。
最後,請務必閱讀我們的 整合 頁面,了解如何將 RVM 最佳整合到你的開發和部署生態系統中。