Specific command not recognized in only one shell

0

I'm running Windows7 as OS as my development machine. It has various Shells:

  • cmd
  • Powershell
  • Mysysgit GNU Bash <-- this is the one not working
  • PuppetLabs Shell
  • Nodejs Shell
  • PHPStorm built in Terminal

but in Mysysgit/GNU Bash the puppet command was not working.

The funny thing was: When I entered

$ where puppet

# Response:
C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet.bat

in each bash (incl. the Mysysgit) I got the right path. (Only Powershell seems to not really work out how to use where). In the PuppetLabs shell I even got a second path

$ where puppet

# Response
C:\Program Files (x86)\Puppet Labs\Puppet\puppet\bin\puppet
C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet.bat

My systems environment variables were perfectly set up: echo $PATH showed me that both included pathes were present. Still type puppet did not work.

After I then appended C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet.bat to my $PATH variable and suddenly the puppet command got recognized... and failed.

c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- puppet/util/command_line (LoadError)
    from c:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in `require'
    from c:/Program Files (x86)/Puppet Labs/Puppet/puppet/bin/puppet:3:in `<main>'

The puppet version is 3.5.1 (latest)

I got Ruby 1.9.3 and Ruby 2.0.x installed on my system. Could it be that there's a conflict with the Ruby installations? It does not appear in any other Shell/Bash/Terminal/Console.

kaiser

Posted 2014-04-28T14:54:39.470

Reputation: 1 050

Is Puppet Version Specific to Ruby 1.8.x?? If so, see here

– eyoung100 – 2014-04-28T15:09:09.347

@ECarterYoung Afaik not. But thanks for the link. – kaiser – 2014-04-28T15:26:51.170

1It seems odd that the batch script is in ... – glenn jackman – 2014-04-28T15:26:58.687

No answers