バンドルの更新を実行したところ、capistranoが3.0.0に更新されましたが、cap deployを実行するとエラーが発生し、これを修正する方法がわかりません。この更新まで、問題なく毎日サーバーを更新しています。
cap aborted!
cannot load such file -- deploy
/home/mark/Rails_apps/myapp/Capfile:1:in `load'
/home/mark/Rails_apps/myapp/Capfile:1:in `<top (required)>'
capfile
load 'deploy'
load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks
gem uninstall capistrano
を実行する必要がありました
次に、gem 'capistrano', '~> 2.15'
でgemfileを更新します
その後、bundle update capistrano
を使用して正しいバージョンを再インストールするために実行します
Capistranoをgemアンインストールし、バージョン3.0.0を選択する必要がありました
(つまり、gemを2.xにダウングレードしました)
Bundle execを使用していることを確認してください(おそらくcapistranoの複数のgemバージョンがあります)
つまり.
bundle exec cap -T
Capistrano 2にダウングレードする代わりに、現在のバージョンの新しい構成を使用します。
require "capistrano/bundler"
require "capistrano/Rails/assets"
require "capistrano/Rails/migrations"
この素敵な投稿もご覧ください 、これはカピストラーノ2と3の違いをまとめたものです。
関連する宝石をGemfile
に追加します
つまり
gem 'capistrano-bundler' # for capistrano/bundler
gem 'capistrano-Rails' # for capistrano/Rails/*
このために2.xにダウングレードしないでください。
今日この問題が発生し、上記のpastulloの解決策で修正されましたが、capistranoをバンドルアンインストールするのではなく、gem uninstall capistranoを実行する必要がありました(markhorrocksの回答どおり)。
また、Bundlerのこのブログは非常に便利です。 http://viget.com/extend/bundler-best-practices
これを共有してくれてありがとう。時間を大幅に節約してくれました。バツ
これを修正する最速の方法は、capファイル(Capfile、config/deploy.rb、およびconfig/deploy/*。rb)をバックアップしてから、capifyを再実行することです(「capify」とは呼ばれなくなりました)。
bundle exec cap install STAGES=staging,production
次に、バックアップからcapファイルを再作成します。これを行うには5分かかり、主要なCapistranoアップグレードハンプを超えることになります。
私は使った
bundle exec cap production deploy
cap production deploy
だけではなく
私の場合、プロジェクトを変更しましたRuby version。はbundle
かもしれません。ここでも動作します。
しかし、以前の状態に戻すために変更しました。
例:
rbenv local 2.4.1