厨师gem_package不使用二进制path

我正尝试在配方中安装一个windows server 2008r2上的gem“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 

然而,当我的机器上运行食谱,我收到错误“错误:执行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二进制文件安装它。

我设法让它在只有1个磁盘(C:/)的testing环境中工作,并在那里工作。 但是,只要我进入一个安装磁盘(U:和更多)的实时环境,我得到了以前的错误。 难道这是因为厨师正在寻找可能在U盘的用户家吗?

我看不出这个configuration有什么问题。 gem_binary是否真的指出要使用哪个二进制文件?