1

I'm trying to install the gems "sensu_plugin" and "mixlib-shellout", on a windows server 2008r2, from a recipe. In this last one, I have the following code :

%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

Yet, when running the recipe on my machine, I receive the error "ERROR: While executing gem ... (Errno::ENOENT) No such file or directory - U:/". What I found out is that whenever I try installing a gem package using the gem binary located in the chef-client directory (C:\opscode\chef\embedded\bin\gem), it raised this last error.

The thing is that the gem I wish to use to installed the gem packages is actually located in C:/opt/sensu/embedded/bin/gem, which I have declared in the gem_binary option.

In the end it looks like chef is ignoring the gem_binary option and trying to install it from its own gem binary.

I managed to have it work in a test environnement with only 1 disk (C:/) and it works there. But as soon as I get in a live environment with mounted disk (U: and many more), I get the previous error. Could it be because chef is looking for the user home which could be in the U: drive?

I can't see what's wrong with this config. Is the gem_binary really indicating what binary to use?

CanOfSpam3
  • 51
  • 4
Cocotton
  • 111
  • 3

0 Answers0