I ran into crazy pain with command "bundle install" on windows. This was related to specifying "PATH" environment variable when "Path" already exists. My version of make.exe would have work, but some of the gcc.exe that it spun off would have brain damange with an empty PATH=value. 

In short, Mixlib::ShellOut.new seems to let us set a separate "PATH" value when "Path" already exists. Windows tries really hard to avoid this type of duplication, but I think Mixlib::ShellOut is low-level enough that it can manifest this crazy conflict. 

My hack to work around this in def bundle_bust was:
cmd_opts[:env].delete("PATH")
and trusting that other stuff had already set up the path as we want it.