厨师ohai找不到我的rbenv红宝石

时间:2013-09-16 18:35:13

标签: chef rbenv

我正在尝试安装其他厨师食谱将识别为系统红宝石的全球版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)。

注意:综合也可能解决了我的问题。

2 个答案:

答案 0 :(得分:0)

您可以覆盖配方或节点级别的默认属性

我认为这是语法

...
"languages": {
  "ruby": {
    "ruby_bin" : "/usr/bin/ruby42"}
},
...

答案 1 :(得分:0)

This cookbook有一个Ohai插件可以做到这一点。你可以:

  • 为此选择切换食谱;
  • 查看rbenv::ohai_plugin食谱并在您的环境中重现(如在包装食谱中)。

由于烹饪书的差异,第一个选项可能无法满足您的需求,而第二个选项可能比看起来更难(我还没有尝试过......)