Windows 10上未加载Ohai plugin_path

时间:2019-03-22 09:53:56

标签: chef ohai-gem

按照罗恩·考伊(Ron Cowie)在他的《自定义厨师(O'Reilly)》一书中的指南创建简单的Ohai插件之后,好像Ohai plugins_path尚未加载到我的Windows 10笔记本电脑上。

步骤如下:

  1. 创建Example1.rb插件文件。我已经在C:\ dev \ opscode \ ohai \ plugins \ example1.rb
  2. 中完成了此操作
var time = document.getElementById("time").value;
var isValid = /^(?:[01][0-9]|2[0-3]):[0-5][0-9](?::[0-5][0-9])?$/.test(time);
if (isValid === false) {
    errors += '- ' + ' Invalid Time Input.\n';
}
if (errors)
    alert('The following error(s) occurred:\n' + errors);
document.MM_returnValue = (errors === '');
  1. 运行irb并输入以下内容:
Ohai.plugin(:Example1) do 1
  provides "awesome_level" 2

  collect_data do 3
    awesome_level 100 4
  end
end

在我看来,@ plugin_path为空,因此在运行o.all_plugins然后运行o.attributes_print(“ awesome_level”)

PS C:\WINDOWS\system32> irb
irb(main):001:0> require 'ohai'
=> true
irb(main):002:0> Ohai::Config[:plugin_path] = 'C:/Dev/opscode/ohai/plugins'
=> "C:/Dev/opscode/ohai/plugins"
irb(main):003:0> o = Ohai::System.new
=> #<Ohai::System:0x0000000003c339a0 @cli=nil, @plugin_path="", @config={},...

是在Windows上设置plugins_path的语法。我尝试了双引号。反斜杠。

2 个答案:

答案 0 :(得分:0)

我的Chef安装不是标准的,默认的C:\ chef \ ohai \ plugins文件夹不存在。 如果我使用cmd行将目录添加到插件路径,则可以正常工作:

  

ohai -d'C:\ dev \ opscode \ ohai \ plugins'

这显示了所有插件的所有属性,并在我的自定义插件结尾处显示了

  

},“ awesome_level”:100

答案 1 :(得分:0)

感觉就像您遭受版本问题一样-要解决任何路径和版本问题,请使用bundler并将rubygems versions锁定在Gemfile中。 / p>

这是一个示例:

pub.getGlyphByName = function(glyph_name) {
  return pub.state[(glyph_name)];
},

您提到您正在使用chef。如果您在Chef-client run中使用ohai,则必须在厨师将ohai加载到配方中之前,将该插件安装在受Chef管理的节点上。