解决食谱时出错

时间:2014-11-27 09:55:35

标签: chef chef-recipe aws-opsworks cookbook

我经历了许多类似的线程,但没有人回答我的问题。我有mysql 4.1.2 recipe。当我在opsworks中运行它时,我给了我这个错误。当我在我当地的ubuntu中运行类似的食谱时它工作正常。我已经对依赖项的版本号进行了大量调整,但仍然没有解决方案。造成这个问题的原因是什么? 我的CookBook repo位于github

    ================================================================================
    Error Resolving Cookbooks for Run List:
    ================================================================================


    Missing Cookbooks:
    ------------------
    Could not satisfy version constraints for: mysql

3 个答案:

答案 0 :(得分:4)

您的database食谱版本需要mysql >= 5.0.0,但您有4.1.2

答案 1 :(得分:4)

除了@coderanger给你的解决方案之外,还有很好的做法可以避免类似的问题 这和逃避依赖地狱这是使用某种食谱 经理(食谱的依赖经理)。

有一些选项,例如BerkshelfLibrarian-chef, Berkshelf更受欢迎,甚至包括在内 Chef Development Kit,所以如果你使用它 你不需要单独安装它。

所以这背后的理念基本上就是有一个地方可以定义你的灵魂 在你所有的食谱中,默认的是Chef Supermarket 或者如果你想要,你可以使用自定义位置或git repo作为源。

定义来源后,您只需要定义所需的烹饪书(用或 没有)你想要的所需版本或标签和食谱经理将解决 所有已定义的烹饪书的依赖关系,它将为您安装, 如果你愿意,你也可以提供它们。

有关如何使用这些工具的更多信息,请访问官方网站:

答案 2 :(得分:2)

另一个值得关注的地方是您的环境文件cookbook_versions属性。如果在那里指定了cookbook版本,则可能与其他版本规范冲突。

https://docs.chef.io/environments.html