[英]OpsWorks Chef: Cannot compile yum cookbook due to old Ruby (1.8.7)
我知道在OpsWorks中,可以使用自定义Chef JSON更改Ruby版本,例如本主题中的一个 。
但是问题是,在安装新的Ruby之前,将默认的(1.8.7)用于编译菜谱。 Ruby版本1.8.7无法理解此代码样式( 请参见此处 ):
name: 'value',
我认为它只接受这种风格:
:name => "value",
有什么解决的建议吗?
谢谢。
更新#1:
临时的解决方法:我签出了yum cookbook的旧版本 ,其中的代码对于旧Ruby仍然有效。
更新#2:
如果我可以使用Chef嵌入的Ruby,那么问题将得到解决。 谁能展示如何使用该嵌入式Ruby版本? 谢谢。
我认为上面提到的ruby版本sethvargo并非AWS用于Chef运行的版本。 那是将用于Rails层的红宝石版本。 根据此问题https://github.com/aws/opsworks-cookbooks/issues/50 AWS显然在Ruby 1.8.7上运行Chef11
根据Amazon OpsWorks文档 ,您可以指定版本,OpsWorks将使用:
node.set['ruby']['full_version'] = '1.9.3'
OpsWorks现在支持Chef 11.10,Ruby 2.0,berkshelf,数据包和搜索-这应该可以解决您的问题http://aws.typepad.com/aws/2014/03/aws-opsworks-now-supports-chef-1110。 HTML
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.