在Chef库包装器cookbook中缺少属性的麻烦

时间:2014-04-11 00:15:33

标签: ruby windows chef

我将Opscode Java cookbook的使用包含在我的公司中。

我已经创建了一个attributes\default.rb文件,其中包含了与我的用法相关的值。

尽管包含了Windows软件包的值,但我仍然收到以下错误:

NoMethodError
------------- 
No resource or method named `windows_package' for `Chef::Recipe "windows"'

这是我的attributes\default.rb文件:

default[:java][:install_flavor] = "windows"
default[:java][:jdk_version] = "7"
default[:java][:windows][:url] = "http"
default[:java][:windows][:package_name] = "Java VM"

我确信我已将更新的食谱上传到我的服务器,并且我确定此文件中的属性正在加载,因为我之前收到的错误是关于错过所需的Windows包URL,直到我添加它(路径编辑在上面)。

1 个答案:

答案 0 :(得分:2)

Java cookbook的

In the windows recipe,呼叫windows_package providerwindows Cookbook。因此,至少在您的平台上,Java菜谱需要Windows菜谱。

由于Java cookbook没有明确依赖于windows cookbook(通过metadata.rb),因此在这个后期失败了。

解决方案是将Windows cookbook添加到运行列表中。