如果您能協助或希望成為維護員之一,請開始協助。您可以在 RVM Github 組織 找到更多與 RVM 相關的專案。
∞使用 Cron 搭配 RVM
RVM 提供幾種簡單的方式與 cron 整合
∞直接呼叫 RVM 產生的包裝器
對於每個已安裝的 ruby 和建立的 gemset,RVM 會為基本命令列工具(例如 gem
、rake
、ruby
)建立包裝器。您可以在 $rvm_path/wrappers/<ruby-version>[@gemset-name]
中找到它們。
因此,當專案 ruby 為 2.1.1@projectX
時,下列 cron 條目將使用適當的環境運作
1 0 * * * /usr/local/rvm/wrappers/ruby-2.1.1@projectX/ruby /path/to/script.rb 1 15 * * * /usr/local/rvm/wrappers/ruby-2.1.1@projectX/rake update stats
∞別名
為了簡化 ruby 版本的未來變更,請使用別名,這是確保在 ruby 版本變更時組態不需變更的最簡單方式
rvm alias create my-project ruby-2.1.1@projectX
然後您可以使用別名路徑
1 15 * * * /usr/local/rvm/wrappers/my-project/rake update stats
∞在 shell 腳本中載入 RVM 環境檔案
對於每個已安裝的 ruby 和建立的 gemset,RVM 會建立環境檔案。您可以透過執行以下指令找到它們
rvm env --path -- ruby-version[@gemset-name]
假設專案 ruby@gemset 為 2.1.1@projectX
,則呼叫
rvm env --path -- 2.1.1@projectX
將會傳回
/usr/local/rvm/environments/ruby-2.1.1@projectX
∞範例腳本
與 rvm 安裝的 ruby 互動的基本 shell 腳本如下所示
#!/usr/bin/env bash # load rvm ruby source /usr/local/rvm/environments/ruby-2.1.1@projectX bundle install ruby /path/to/script.rb rake do something