0

数日前に凍結されたCapistranoの使用に関する質問に続いて、ベンダーフォルダーで凍結されたCapistranoを実行する際にまだ問題が発生しています。

凍結バージョンのキャップを実行しようとすると

ruby -r rubygems ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations

エラーが発生します

... RubyGem version error: net-ssh(1.0.8 not >= 2.0.0) (Gem::LoadError) ...

依存関係であることがわかっていたので、ベンダーフォルダーでnet-ssh-2.0.4をフリーズしましたが、どのように使用しますか?

gempathの下の.gemrcファイルにベンダーフォルダーを追加したかったのですが、うまくいきませんでした。「gemenvironment」にはベンダーパスが表示されますが、「gemlist」にはベンダーフォルダー内のgemは表示されません。

何か案は?

4

2 に答える 2

1

最終的に、Capistrano と依存関係をベンダーの gem ディレクトリに凍結しないことにしました。それらはアプリケーションで使用される gem ではなく、アプリケーションのデプロイに使用されたからです。

代わりに、ホスティング アカウントにローカルにインストールしたところ、すべて正常に動作しました。

于 2008-12-10T22:56:56.367 に答える
0

システムにインストールされたgemを完全に回避したい場合(それらを制御できない場合は悪い考えではありません)、rubygemsのコピーをベンダーディレクトリにインストールします。

GEM_PATHおよびGEM_HOME環境変数を/path/ to / your / vendor / gemsディレクトリに設定し、rubygemsをインストールしてそこから移動します。

于 2008-12-04T04:48:20.703 に答える