我是 Chef 的新手,并试图通过并理解一个教程:http ://wiki.opscode.com/display/chef/Build+a+Django+Stack 。
很早以前,当尝试在 AWS 服务器上启动第一个实例时,我收到此错误: http: //pastie.org/8068021
我已经给了谷歌一个很好的尝试,但到目前为止我找不到一个简单到足以让初级厨师理解的解决方案。
我是 Chef 的新手,并试图通过并理解一个教程:http ://wiki.opscode.com/display/chef/Build+a+Django+Stack 。
很早以前,当尝试在 AWS 服务器上启动第一个实例时,我收到此错误: http: //pastie.org/8068021
我已经给了谷歌一个很好的尝试,但到目前为止我找不到一个简单到足以让初级厨师理解的解决方案。
尝试将这些语句放在您的site-cookbooks/main/metadata.rb中:
depends 'build-essential'
depends 'openssl' #depends on build-essential
depends 'mysql' # depends on openssl
depends 'database' #depends on mysql
我遇到了同样的错误,这是因为我忘记添加数据库说明书依赖项。
添加数据库说明书依赖项后,您可能会在随后的烹饪尝试中遇到以下错误之一:
FATAL: Chef::Exceptions::CookbookNotFound: Cookbook aws not found.
FATAL: Chef::Exceptions::CookbookNotFound: Cookbook postgresql not found.
FATAL: Chef::Exceptions::CookbookNotFound: Cookbook xfs not found.
那只是因为数据库说明书有它自己的依赖关系。如果合适,您可以添加依赖的说明书,或者如果没有,只需将它们从说明书/数据库/元数据.rb中注释掉:
depends "mysql", ">= 1.3.0"
# depends "postgresql", ">= 1.0.0"
# depends "aws"
# depends "xfs"
如果您查看数据库说明书的 metadata.rb ,您会发现它依赖于其他一些书籍。
depends "mysql", ">= 1.3.0"
depends "postgresql", ">= 1.0.0"
depends "aws"
depends "xfs"
这意味着为了操作,它需要这些食谱也可以访问。*mysql_database* 不是标准资源。它在 mysql 食谱中有描述。(此类资源的命名约定是 [cookbook_name]_[resource_name]。请寻求LWRP以获取更多信息。)