私はちょうど同様の問題に苦しんでいて、解決策を探していて、あなたの質問を見つけました. とにかく、私の場合、私のファイル ( )、アプリケーションのファイル ( ) など、1.9.3-p327
どこにでもあるように Ruby のバージョンを指定していました。.bashrc
rvm --default use 1.9.3-p327
.rvmrc
rvm use 1.9.3-p327@my_app_name
cap deploy
cap deploy:setup
*** [err :: localhost] ruby-1.9.3-p286 is not installed.
** [out :: localhost] To install do: 'rvm install ruby-1.9.3-p286'
*** [err :: localhost] Error: RVM was unable to use '1.9.3@my_app_name'
問題は Capistrano の構成ファイルmy_app_name/config/deploy.rb
. Ruby のバージョンは次のように定義されています。
set :rvm_ruby_string, "1.9.3@#{application}"
なぜカピストラーノがこれを変えたのか1.9.3-p286
は、今でも謎です。とにかく、次のように Ruby パッチレベルを行に追加しました。
set :rvm_ruby_string, "1.9.3-p327@#{application}"
そして、cap deploy:setup
働きcap deploy
始めました。
さらに、Capistrano がアプリケーションの.rvmrc
ファイル (こちらを参照) で指定された Ruby バージョンを使用する可能性を追加していることがわかったので、その行を次のように設定するだけです。
set :rvm_ruby_string, :local
で Ruby のバージョンを変更しても、二度と触る必要はありません.rvmrc
。