このエラー メッセージに関して多くの質問があることは承知していますが、私と同じコンテキストでこのエラーが発生しているという質問を見つけることができませんでした。
以前に機能していた Capistrano 構成をバージョン 2 から Capistrano 3 に移行しようとしています。残念ながら、呼び出すとcap production deploy --dry-run
エラーが発生します
cap aborted!
undefined local variable or method `home' for main:Object
/myapp/config/deploy.rb:6:in `<top (required)>'
deploy.rb
エラーが発生する 6 行目までの内容は次のとおりです。
set :user, "myuser"
set :application, "myapp"
set :domain, "mydomain"
set :repository, "git@github.com:acme/myapp.git"
set :home, "/home/myuser"
set :deploy_to, "#{home}/#{domain}"
私はRubyについてあまり知りませんが、私が集めたものから、コロンはこれらが変数ではなくシンボルであることを意味し、カピストラーノのドキュメントでは、同じ構文を使用して「変数」を定義しています(段落5「セットdeploy.rb の共有情報")?
デプロイ スクリプトは、Ruby 2.0.0p247 と Capistrano 2.9.0 を使用する OS X で問題なく実行されました。現在、Ruby 1.9.3p545 および Capistrano 3.1.0 を搭載した CentOS で、上記のエラーが発生します。Capfile
Capistrano 3 で実行できるように、 にいくつかの変更を加えましたが、うまくdeploy.rb
いくことを期待してそのままにしておきました。