サポート
RVM はボランティアコミュニティによって保守されています。問題報告は RVM の issue トラッカー をご利用ください。
保守に協力したい、または保守者の一員になりたい方は、ぜひご協力ください。RVM 関連のプロジェクトは RVM の Github 組織 で確認できます。
スポンサー
Carbon Ads

Cron との連携

RVM は Cron との連携を容易にするいくつかの方法を提供しています。

  1. RVM が生成したラッパーの直接呼び出し。
  2. シェルスクリプトにおける RVM 環境ファイルの読み込み。
  3. カスタム RVM ラッパーの直接呼び出し (例: God)。
  4. シェルスクリプトにおける RVM の読み込みと使用。

RVM が生成したラッパーの直接呼び出し

インストールされた各 Ruby と作成された各 gemset に対して、RVM はgemrakerubyなどの基本的なコマンドラインツールのラッパーを作成します。これらは$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

シェルスクリプトにおける 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 とやり取りするための基本的なシェルスクリプトは次のようになります。

#!/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