2

Chef-solo (11.4.4) を使用して Ubuntu 13.04 ボックスをプロビジョニングしようとしていますが、apache2 クックブックでエラーが発生します。

undefined method `[]' for nil:NilClass

 20:  package "apache2" do
 21>>   package_name node['apache']['package']
 22:  end

私の推測では、クックブックのデフォルトの属性がロードされていない、つまり node['apache'] が nil になっていると思いますが、これを解決する方法がわかりません...

case platform  
when "debian", "ubuntu"
   default['apache']['package'] = "apache2"

属性に関してChef v11にいくつかの変更があり、以前はChef v10で簡単に機能したことは知っていますが、何を変更すればよいかを知るのに十分なChefの知識がありません.

どんな助けでも大歓迎です!

4

1 に答える 1

5

どうやら、Chef 11 では、metadata.rb依存関係が指定されているクックブックが必要です。これらの依存関係はクックブックを自動ロードするために使用されます。

ファイルに追加depends "apache2"するとmetadata.rb、上記の問題が解決されます。

于 2013-07-01T09:18:55.287 に答える