0

最近、アプリケーションの gem を管理するのにバンドラーを使用していなかったバージョンから、バンドラーを使用するバージョンに Webistrano をアップグレードしようとしています。Rails アプリケーションをデプロイするためrequire 'bundler/capistrano'に、レシピで使用して、アプリケーションおよびその他の関連ステップ (アセットのプリコンパイルなど) 用にバンドラーをロードします。ただし、バンドラーを Gemfile で使用して適切な gem 環境を指定およびロードするとrequire 'bundler/capistrano'、次のエラーがスローされます。

** ローディング段階のレシピ「bundler」

*** `install' という名前のタスクを定義すると、その名前の既存のメソッドがシャドウされます

レシピから require を除外すると、デプロイは続行されますが、バンドラーは使用されません ( nobundle execなど)。

Ruby環境を管理するためrequire 'rvm/capistrano'に使用しようとすると、同様の問題も発生します。rvm

これを修正する方法について何か考えはありますか?

4

3 に答える 3

1

おそらく、インストール タスクがある rake 0.9.x を使用していることが原因かもしれ ませ ん問題が関連している可能性があります https://github.com/capistrano/capistrano/pull/90

于 2012-11-21T16:11:13.913 に答える
0

サーバーとローカルマシンにbundlerとrvm-capistranogemがインストールされていますか?私はこれが問題を引き起こすのを見たことがあります。

于 2012-11-10T10:04:42.587 に答える
0

のコードをチェックしたばかりで、 のコードbundler/capistranoを知っていますrvm/capistrano。それを実現できる唯一の方法は、capistranonamespace上書き/破損し、定義に適切なスコープを与えていtaskない場合です。再定義しないnamespaceか、他に何もないことを確認してください。 gem/ library/codeそれはそうするでしょう。

おそらく capistrano を新しいバージョンに更新すると、それが修正される可能性があります (これは で既に修正されているバグである可能性がありますcapistrano)。

于 2012-11-20T16:49:39.913 に答える