我经历了许多类似的线程,但没有人回答我的问题。我有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
答案 0 :(得分:4)
您的database
食谱版本需要mysql >= 5.0.0
,但您有4.1.2
。
答案 1 :(得分:4)
除了@coderanger给你的解决方案之外,还有很好的做法可以避免类似的问题 这和逃避依赖地狱这是使用某种食谱 经理(食谱的依赖经理)。
有一些选项,例如Berkshelf或 Librarian-chef, Berkshelf更受欢迎,甚至包括在内 Chef Development Kit,所以如果你使用它 你不需要单独安装它。
所以这背后的理念基本上就是有一个地方可以定义你的灵魂 在你所有的食谱中,默认的是Chef Supermarket 或者如果你想要,你可以使用自定义位置或git repo作为源。
定义来源后,您只需要定义所需的烹饪书(用或 没有)你想要的所需版本或标签和食谱经理将解决 所有已定义的烹饪书的依赖关系,它将为您安装, 如果你愿意,你也可以提供它们。
有关如何使用这些工具的更多信息,请访问官方网站:
答案 2 :(得分:2)
另一个值得关注的地方是您的环境文件cookbook_versions
属性。如果在那里指定了cookbook版本,则可能与其他版本规范冲突。