エラーメッセージ
▬▬ Using Movefile: ./Movefile ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
/home/vagrant/.gem/ruby/2.4.0/gems/wordmove-2.4.0/lib/wordmove/deployer/base.rb:16:in `deployer_for': undefined method `[]' for nil:NilClass (NoMethodError)
from /home/vagrant/.gem/ruby/2.4.0/gems/wordmove-2.4.0/lib/wordmove/cli.rb:68:in `pull'
エラーが発生した状況
古い VCCW で運用していた開発用サイトを、新しいバージョンの VCCW で構築し直し、wordmove で本番サイトから pull しようとした時に発生
環境
- Vagrant box "vccw-team/xenial64"
v20161209 → v20180107 - VCCW v2 → v3
原因
VCCWのアップデートにより、含まれる wordmove が v2.1 → v2.4 に差し替わった。wordmove の設定ファイル movefile の書き方が以下のように変わっていたためにエラーが起きた。
- ファイル名が movefile から Movefile.yml に変更
(movefile でも movefile.yml でも動作はした) - ファイル頭に
global: sql_adapter: default
- 値のクォーテーションが不要に
以前:"wordpress_path: /var/www/html/wpd"
現在:wordpress_path: /var/www/html/wpd
- hooks: 等の設定が追加 (使う必要はない)
解決方法
wordmove init
で movefile の雛形を作り、それに従って movefile を新しい書き方で書き直すことで解決した。
参考記事
- ★VCCW Wordmove を実行したら undefined method `[]’ for nil:NilClass (NoMethodError) が発生する場合の対処 | deadwood
- undefined method `[]' for nil:NilClass (NoMethodError) · Issue #401 · welaika/wordmove
- i got the error of undefined method '[]' for nil:NilClass in new version (2.1.2) · Issue #396 · welaika/wordmove
- Error when using Movefile · Issue #150 · welaika/wordmove