1

我是 Chef 的新手,并试图通过并理解一个教程:http ://wiki.opscode.com/display/chef/Build+a+Django+Stack 。

很早以前,当尝试在 AWS 服务器上启动第一个实例时,我收到此错误: http: //pastie.org/8068021

我已经给了谷歌一个很好的尝试,但到目前为止我找不到一个简单到足以让初级厨师理解的解决方案。

4

2 回答 2

2

尝试将这些语句放在您的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"  
于 2013-07-07T04:32:46.827 回答
0

如果您查看数据库说明书的 metadata.rb ,您会发现它依赖于其他一些书籍。

depends "mysql", ">= 1.3.0"
depends "postgresql", ">= 1.0.0"
depends "aws"
depends "xfs"

这意味着为了操作,它需要这些食谱也可以访问。*mysql_database* 不是标准资源。它在 mysql 食谱中有描述。(此类资源的命名约定是 [cookbook_name]_[resource_name]。请寻求LWRP以获取更多信息。)

于 2013-06-22T09:16:06.757 回答