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 中,cookbooks 需要metadata.rb在其中指定依赖项。这些依赖项用于自动加载说明书。

添加depends "apache2"metadata.rb文件可以解决上述问题。

于 2013-07-01T09:18:55.287 回答