裏話
私は Rails 2.1 を使用しており、Capistrano gem をベンダー フォルダーにフリーズする必要があります (私のホストは cap gem の依存関係を壊しており、できるだけ独立したいと考えています)。
ローカルの Windows マシンに、次の environment.rb を配置しました。
config.gem "capistrano", :version => "2.5.2"
config.gem "net-ssh", :lib => "net/ssh", :version => "2.0.4"
config.gem "net-scp", :lib => "net/scp", :version => "1.0.1"
config.gem "net-sftp", :lib => "net/sftp", :version => "2.0.1"
config.gem "net-ssh-gateway", :lib => "net/ssh/gateway", :version => "1.0.0"
gem は既にインストールされているので、凍結しました。チェック中 ...
>rake gems
...
[F] capistrano = 2.5.2
[F] net-ssh = 2.0.4
[F] net-scp = 1.0.1
[F] net-sftp = 2.0.1
[F]net-ssh-gateway = 1.0.0
次に、ローカルで SVN にコミットし、prod Linux ボックスで更新します。
問題
フリーズしたバージョンの Capistrano を実行しようとすると、次のエラーが表示されます。
$ ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations
./vendor/gems/capistrano-2.5.2/bin/cap:3:in `require': no such file to load --capistrano/cli (LoadError)
from ./vendor/gems/capistrano-2.5.2/bin/cap:3
私が間違ったことをしたアイデアはありますか?