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
    options("--no-rdoc --no-ri")
    action :install

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?

  • Can you try running chef-client in debug mode and posting the output here? – Mike Fiedler Oct 19 '14 at 20:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.