web-dev-qa-db-ja.com

Capistrano-「そのようなファイルをロードできません--deploy」

Capistranoでデプロイするように設定されている既存のRailsプロジェクトに取り組んでいます。このエラーを理解するための最初のステップを決定しようとしています。誰かが私に必要なことの正しい方向を教えてくれますか? ?

cap aborted!
cannot load such file -- deploy
/Users/lrh/Projects/Rails/febennett.com/Capfile:1:in `load'
/Users/lrh/Projects/Rails/febennett.com/Capfile:1:in `<top (required)>'
/Users/lrh/.rvm/gems/Ruby-2.0.0-p247@febennett/gems/capistrano-      
3.0.1/lib/capistrano/application.rb:22:in `load_rakefile'
/Users/lrh/.rvm/gems/Ruby-2.0.0-p247@febennett/gems/capistrano-
3.0.1/lib/capistrano/application.rb:12:in `run'
/Users/lrh/.rvm/gems/Ruby-2.0.0-p247@febennett/gems/capistrano-3.0.1/bin/cap:3:in `<top   
(required)>'
/Users/lrh/.rvm/gems/Ruby-2.0.0-p247@febennett/bin/cap:23:in `load'
/Users/lrh/.rvm/gems/Ruby-2.0.0-p247@febennett/bin/cap:23:in `<main>'
(See full trace by running task with --trace)

以下のキャップファイル

load 'deploy'
# Uncomment if you are using Rails' asset pipeline
load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks

ありがとう!これが十分な情報であることを願っています。

17
Lucas Holmgren

Capistrano 3を使用していますが、使用しているプロジェクトはおそらくCapistrano 2用にセットアップされています。バージョン3は完全に書き直されており、動作するにはかなりの量の構成更新が必要です。

プロジェクトのGemfileに正しい2.xバージョンのCapistranoがあるとすると、cap(を使用する)ではなく、bundle exec cap(プロジェクトのバージョンを使用する)を使用する必要があります。グローバルにインストールされた3.xバージョン)。

アップグレードガイド が利用可能ですが、それほど深くはありません。

34
Dylan Markow

キャップ3ではなくキャップ2を使用する前のプロジェクトとまったく同じように、古いキャップファイルを移動/削除する必要があります。キャップを3にアップグレードする場合は、この前に次の手順を実行します。

以下のファイルを削除するか、同じファイルを以下のように別の場所に移動するだけです。

mkdir old_cap
mv Capfile old_cap
mv config/deploy.rb old_cap
mv config/deploy/ old_cap # --> only for multistage setups 

これで、同じコマンドを続行できます。ではごきげんよう :)

1
Mehakpal Singh