【问题标题】:Chef error in tutorial: Cannot find a resource for mysql_database on ubuntu version 10.04教程中的厨师错误:在 ubuntu 版本 10.04 上找不到 mysql_database 的资源
【发布时间】:2013-07-07 12:32:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: django amazon-web-services amazon-ec2 chef-infra chef-recipe


    【解决方案1】:

    尝试将这些语句放入您的 site-cookbooks/main/metadata.rb

    depends 'build-essential'
    depends 'openssl' #depends on build-essential
    depends 'mysql' # depends on openssl
    depends 'database' #depends on mysql
    

    我遇到了同样的错误,这是因为我忘记添加 database 食谱依赖项。

    添加 database 食谱依赖项后,您可能会在随后的烹饪尝试中遇到以下错误之一:

    FATAL: Chef::Exceptions::CookbookNotFound: Cookbook aws not found.
    FATAL: Chef::Exceptions::CookbookNotFound: Cookbook postgresql not found.
    FATAL: Chef::Exceptions::CookbookNotFound: Cookbook xfs not found.
    

    那只是因为数据库说明书有它自己的依赖。如果合适,您可以添加依赖的说明书,如果没有,只需将它们从 cookbooks/database/metadata.rb 中注释掉:

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

    【讨论】:

      【解决方案2】:

      如果您查看 database cookbook 的 metadata.rb,您会发现它依赖于其他一些书籍。

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

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

      【讨论】:

      • 我已经有了那本食谱。我再次手动添加,确保没有错误,仍然失败。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多