是否可以在Cookbook的metadata.rb
文件中检测平台?
例如,像这样:
if node['platform'] == 'aix'
depends "cats", "< 1.0"
end
if node['platform'] == 'ubuntu'
depends "cats", "> 1.0"
end
但这是不可能的,因为node
在该上下文中不可用。还有其他办法吗?
答案 0 :(得分:2)
不,烹饪书依赖关系完全是静态的。这已经在未来的某些方面进行了讨论,但没有出现重大提案。如果您对贡献感兴趣,我会邀请您提交一份Chef RFC,如果您能提出一个,我会提出修正建议:)
关键点通常是条件依赖的原因超出了简单的每平台逻辑。这经常出现在像runit与systemd,mysql与postgres以及apache与nginx之类的内容中。