web-dev-qa-db-ja.com

Rails 4、Capistrano 3.0.0、そのようなファイルをロードできません-deploy

バンドルの更新を実行したところ、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
45
markhorrocks

gem uninstall capistranoを実行する必要がありました

次に、gem 'capistrano', '~> 2.15'でgemfileを更新します

その後、bundle update capistranoを使用して正しいバージョンを再インストールするために実行します

21
pastullo

Capistranoをgemアンインストールし、バージョン3.0.0を選択する必要がありました

(つまり、gemを2.xにダウングレードしました)

39
markhorrocks

Bundle execを使用していることを確認してください(おそらくcapistranoの複数のgemバージョンがあります)

つまり.

bundle exec cap -T

18
stebooks

Capistrano 2にダウングレードする代わりに、現在のバージョンの新しい構成を使用します。

require "capistrano/bundler"
require "capistrano/Rails/assets"
require "capistrano/Rails/migrations"

この素敵な投稿もご覧ください 、これはカピストラーノ2と3の違いをまとめたものです。

8
H6.

関連する宝石をGemfileに追加します

つまり

gem 'capistrano-bundler' # for capistrano/bundler
gem 'capistrano-Rails' # for capistrano/Rails/*

このために2.xにダウングレードしないでください。

4
reto

今日この問題が発生し、上記のpastulloの解決策で修正されましたが、capistranoをバンドルアンインストールするのではなく、gem uninstall capistranoを実行する必要がありました(markhorrocksの回答どおり)。

また、Bundlerのこのブログは非常に便利です。 http://viget.com/extend/bundler-best-practices

これを共有してくれてありがとう。時間を大幅に節約してくれました。バツ

3
Meli

これを修正する最速の方法は、capファイル(Capfile、config/deploy.rb、およびconfig/deploy/*。rb)をバックアップしてから、capifyを再実行することです(「capify」とは呼ばれなくなりました)。

bundle exec cap install STAGES=staging,production

次に、バックアップからcapファイルを再作成します。これを行うには5分かかり、主要なCapistranoアップグレードハンプを超えることになります。

2
user1130176

私は使った

bundle exec cap production deploy

cap production deployだけではなく

1
Alexander Gorg

私の場合、プロジェクトを変更しましたRuby version。はbundleかもしれません。ここでも動作します。

しかし、以前の状態に戻すために変更しました。

例:

rbenv local 2.4.1
0
Alupotha