我正在尝试在Windows服务器2008r2上从配方安装宝石“sensu_plugin”和“mixlib-shellout”。在最后一个中,我有以下代码:
%w{ sensu-plugin mixlib-shellout }.each do |gem_plugin|
gem_package gem_plugin do
gem_binary("C:/opt/sensu/embedded/bin/gem")
options("--no-rdoc --no-ri")
action :install
end
end
然而,当我在我的机器上运行配方时,我收到错误“ERROR:执行gem时...(Errno :: ENOENT)没有这样的文件或目录 - U:/”。我发现每当我尝试使用位于chef-client目录(C:\ opscode \ chef \ embedded \ bin \ gem)中的gem二进制文件安装gem包时,它就会引发最后一个错误。
问题是我希望用来安装gem包的gem实际上位于C:/ opt / sensu / embedded / bin / gem中,我已经在gem_binary选项中声明了。
最后,看起来厨师忽略了gem_binary选项,并尝试从自己的gem二进制文件中安装它。
我看不出这个配置有什么问题。 gem_binary真的指出了要使用的二进制文件吗?