【问题标题】:OpsWorks/Chef: multiple versions of a cookbook are requiredOpsWorks/Chef:需要多个版本的食谱
【发布时间】:2014-05-08 15:29:54
【问题描述】:

我正在使用 OpsWorks。需要多个版本的build-essential 食谱,因为:

  • mysql 食谱需要 'build-essential', '~> 1.4'
  • nginxcookbook 需要 'build-essential', '~> 2.0'(我的仓库中的版本)

所以在 OpsWorks 中启动实例时,我收到以下错误消息:

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


Missing Cookbooks:
------------------
Could not satisfy version constraints for: build-essential

如何解决这个冲突?

谢谢。


更新 1

我遇到了this thread。最后一个答案建议使用角色和环境,这在我的情况下不能应用,因为我使用的是 OpsWorks(OpsWorks 没有 Chef 服务器来管理多个食谱版本,它也没有这样的“角色”、“环境”概念)。

【问题讨论】:

  • 你有一个无法解决的图表......没有什么可以“解决”的。这些食谱不能在同一环境中一起使用 - 它们是不可满足的约束。
  • 谢谢。我的用例很常见,这里没有什么棘手的。这两本食谱(mysqlnginx)非常常见,所以我想有些人应该也遇到过同样的问题。 :| :)

标签: mysql nginx version chef-infra cookbook


【解决方案1】:

如果您能够使用旧版本的 nginx 食谱(v2.4.2,大约一个月大),那一个 depends on build-essential ~> 1.4

另外,听起来您正在使用 Chef 社区食谱,看来 OpsWorks 本身有 mysqlnginx 的食谱。 (不幸的是与社区名称相同)。您是否评估过这些是否适合您的情况?

【讨论】:

  • 谢谢查理!我想我现在会尝试社区食谱选项。 AWS Support 的人员也让我知道了这些 OpsWorks 内置说明书,但我没有尝试过,因为 (1) 我一直在使用“刀说明书站点安装”命令,(2) 我们的许多说明书都是使用这些“来自社区的 nginx" 和 "mysql" 食谱。我想我稍后会尝试 OpsWorks 食谱。再次感谢:)
猜你喜欢
  • 2015-12-19
  • 2018-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多