【问题标题】:Cookbook's deep dependency requires an unavailable Ruby version. How to circumvent via chef for Amazon Linux?Cookbook 的深度依赖需要一个不可用的 Ruby 版本。如何通过 Chef for Amazon Linux 规避?
【发布时间】:2020-02-14 16:34:51
【问题描述】:

我是一名非 Ruby 开发人员,在 Amazon Linux AMI 2018.03、OpsWorks Agent v.3451 上使用 Chef 11.10。

我的Route53 cookbook requires fog 其中requires fog-brightbox 需要unspecified versiondry-inflectormost recent version requires Ruby @9876 p>

fog 是通过chef_gem 安装的,它使用separate version of Ruby 保留仅供Chef 客户端使用,不建议更新此Ruby 版本,因为它可能会disable the Opsworks Agent

解决此问题的唯一方法是分叉和托管链中的每个依赖项,然后强制使用较早版本的深度依赖项吗?

【问题讨论】:

  • 版本 0.1.2 of the dry-inflector gem 不需要特定版本的 ruby​​。您能否确保预先安装了该版本?
  • 这个。我在 dep gem 之后安装。谢谢!

标签: ruby chef-infra aws-opsworks cookbook


【解决方案1】:

版本 0.1.2 of the dry-inflector gem 不需要特定版本的 Ruby。

尽快在您的机器上安装具有该特定版本的 gem。

【讨论】:

  • 我继承了一个大型 Chef 部署,我遇到了上面描述的问题。我不明白如何尽快安装dry-inflector gem。你能指出我正确的方向吗?
  • @RobWright 我已经有 6 年没有和 Chef 合作过了,所以我脑子里没有确切的语法。这个想法是,每次安装 Ruby 时,都必须安装 gem,尤其是 bundler 可能会安装在您的配方中的某个位置。搜索它并以相同的方式直接在它前面安装正确版本中缺少的gem。
  • 谢谢。我会朝那个方向挖掘。
  • @RobWright 我们的 route53 配方进行安装:chef_gem "dry-inflector" do action :install version node['route53']['dry-inflector_version'] end。尝试搜索dry-inflector_version
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-01
  • 1970-01-01
  • 2011-09-02
相关资源
最近更新 更多