我今天手动下载了 nginx cookbook,地址是http://community.opscode.com/cookbooks/nginx并使用 启动它
include_recipe nginx::source
,在 Ubuntu 12.04 上使用 chef-solo 11.4
但是我有一个错误
/nginx/recipes/source.rb line: 28
28>> nginx_url = node['nginx']['source']['url'] || "http://nginx.org/download/nginx-#{node['nginx']['source']['version']}.tar.gz"
错误如下:
`
[2013-05-07T18:54:38+04:00] ERROR: Running exception handlers
[2013-05-07T18:54:38+04:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
[2013-05-07T18:54:39+04:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2013-05-07T18:54:39+04:00] FATAL: NoMethodError: undefined method `[]' for nil:NilClass
`
如何修复?
答案1
尝试明确设置属性
node["nginx"]["source"]["url"]
和/或
node["nginx"]["source"]["version"]
似乎其中一个不存在,这很奇怪,因为它们是在食谱中设置的默认值。
如果这没有帮助,请尽可能多地提供信息。回滚后通常会显示更多详细信息,因为它仅在最后显示错误摘要。