保守に協力したい、または保守者の一員になりたい方は、ぜひご協力ください。RVM 関連のプロジェクトは RVM の Github 組織 で確認できます。
∞Cron との連携
RVM は Cron との連携を容易にするいくつかの方法を提供しています。
- RVM が生成したラッパーの直接呼び出し。
- シェルスクリプトにおける RVM 環境ファイルの読み込み。
- カスタム RVM ラッパーの直接呼び出し (例: God)。
- シェルスクリプトにおける RVM の読み込みと使用。
∞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
∞シェルスクリプトにおける 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