"middleman deploy"実行時に発生したエラーへの対処

middleman

"middleman deploy" 実行時にエラーが発生

mddleman deploy実行時に以下のエラーが発生しました。

1
ERROR: You need to activate the deploy extension in config.rb.

エラーの全量のログはこちら

middleman serverを実行しているターミナルにも以下のようなエラーが発生していました。

1
Error reloading Middleman: undefined method `deploy_method=' for #<Middleman::Deploy::Options:0x007fe8542a9358>

エラーの全量のログはこちら

middleman-deployのバージョンは1.0.0。

config.rbで設定するプロパティ名が間違っていたのが原因

middleman-deployのREADMEを参考に下のように設定ていました。これだと上記のエラーが発生します。

1
2
3
4
5
activate :deploy do |deploy|
  ...
  deploy.deploy_method   = :ftp
  ...
end

以下のようにすると動きます。

1
2
3
4
5
activate :deploy do |deploy|
  ...
  deploy.method   = :ftp
  ...
end

middleman-deployのgithubページのトップに表示されるREADMEはmasterブランチのものです。現時点のリビジョンは243ab38

1.0.0がリリース版としては最新なので、現時点では通常これを使います。なのに、トップのページにくるREADMEはより進んでいるmasterブランチのものなのです。しかもmasterブランチのREADMEにはGemfileにgem 'middleman-deploy', '~> 1.0'を追記すると書かれているので、一貫していません。(愚痴です。)

このissueを発見して気づき、1.0.0のREADMEを見て、上記の修正をするとエラーがなくなり正常にdeployできました。

まとめ

ライブラリによってブランチの運用が様々なので、GitHubでのREADMEを参考にする場合、使っているバージョンと合っているかきちんと確認する必要がありますね。

羊毛や小麦