サポート
RVM はボランティアコミュニティによって維持されています。問題が発生した場合は、RVM の問題トラッカー に報告してください。
もしお手伝いいただける方、またはメンテナの一員になりたい方がいらっしゃいましたら、ぜひご協力ください。RVM 関連のプロジェクトは RVM Github 組織 で確認できます。
スポンサー
Carbon Ads

Capistrano との RVM の連携

統合の利点

RVM を Capistrano と統合することで、Capistrano デプロイタスクの実行時に RVM の通常の利点が得られます。これらには以下が含まれます。

統合方法

下記に、最新のものから古いものへと4つの方法を示します。設定が簡素化され、ハードコードされたパスが含まれていないため、最初の方法が推奨されます。

rvm-capistrano gem の使用

gem を参照してください。この設定では、RVM はシェル関数として自動的にロードされませんが、実行ファイルは PATH で使用できます。状況の違いについては、スクリプティング を参照してください。

組み込み Capistrano プラグインの使用(旧式)

RVM >= 1.0.1 には、Capistrano サポートのための組み込みプラグイン(gem ではありません)が含まれています。この設定は上記の gem アプローチとほぼ同じですが、プラグインが見つかるように RVM の lib ディレクトリをロードパスに追加する行が追加で必要です。

# Choose a Ruby explicitly, or read from an environment variable.
set :rvm_ruby_string, 'ree@rails3'
# set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,'') 

# Add RVM's lib directory to the load path.
$:.unshift(File.expand_path('./lib', ENV['rvm_path']))

# Load RVM's capistrano plugin.
require 'rvm/capistrano'

デフォルトでは、プラグインは RVM のシステムインストールを使用します。これは gem のデフォルトのインストールモードとは正反対です。代わりに、パーユーザー(root 以外)インストールを使用するように設定するには、Capfile または deploy.rb に以下を追加します。

set :rvm_type, :user  # Literal ":user"

Capistrano の :default_environment 設定の使用(上級者向け)

このオプションの場合、deploy.rb ファイルに以下の行を追加します。もちろん、ご自身の RVM Ruby に調整してください。

set :default_environment, {
  'PATH' => "/path/to/.rvm/gems/ree/1.8.7/bin:/path/to/.rvm/bin:/path/to/.rvm/ree-1.8.7-2009.10/bin:$PATH",
  'RUBY_VERSION' => 'ruby 1.8.7',
  'GEM_HOME'     => '/path/to/.rvm/gems/ree-1.8.7-2010.01',
  'GEM_PATH'     => '/path/to/.rvm/gems/ree-1.8.7-2010.01',
  'BUNDLE_PATH'  => '/path/to/.rvm/gems/ree-1.8.7-2010.01'  # If you are using bundler.
}

正確な場所を確認するには、~/.rvm/config/default の内容を確認してください。

デプロイ時にプロジェクトの .rvmrc ファイルを Capistrano が自動的に信頼するように設定するには、config/deploy.rb に以下を追加します。

namespace :rvm do
  task :trust_rvmrc do
    run "rvm rvmrc trust #{release_path}"
  end
end

その後、afterフックを追加して起動することにより、Capistrano のフック機能を使用します。

after "deploy", "rvm:trust_rvmrc"