我正在尝试安装其他厨师食谱将识别为系统红宝石的全球版ruby。我试图用chef-rbenv来做这件事,它似乎在用户级别工作,但在厨师运行ohai时不起作用。我说当厨师运行ohai时它不起作用,因为像passenger_apache2这样的烹饪书引用node['languages']['ruby']['ruby_bin']
指向“/ usr / bin / ruby”。然而,当我以用户身份登录ohai时,我获得了rbenv shim位置。我在rbenv配置中遗漏了哪些东西才能看到这种行为?
其他信息:
平台 - 亚马逊(ami-05355a6c)
run_list:
配方[ruby_build]
配方[ohai]
配方[rbenv ::系统]
配方〔建立必要的]
配方[apache2的]
配方[passenger_apache2]
配方[passenger_apache2 :: mod_rails]
- UPDATE
我从未让厨师 - 客户ohai接受我的rbenv设置,但这不再是一个问题,因为我最终覆盖了角色中的节点属性。这是唯一可能的,因为最近的变化(passenger_apache2 commit -a0a32fda0b56228d6e54163c98f6736e17cad12c)。
注意:综合也可能解决了我的问题。
答案 0 :(得分:0)
您可以覆盖配方或节点级别的默认属性
我认为这是语法
...
"languages": {
"ruby": {
"ruby_bin" : "/usr/bin/ruby42"}
},
...
答案 1 :(得分:0)
This cookbook有一个Ohai插件可以做到这一点。你可以:
rbenv::ohai_plugin
食谱并在您的环境中重现(如在包装食谱中)。由于烹饪书的差异,第一个选项可能无法满足您的需求,而第二个选项可能比看起来更难(我还没有尝试过......)