Я использую Windows7 как ОС в качестве машины для разработки. Он имеет различные оболочки:
cmd
- Powershell
- Mysysgit GNU Bash <- это тот, который не работает
- PuppetLabs Shell
- Nodejs Shell
- PHPStorm встроенный в терминал
но в Mysysgit/GNU Bash команда puppet
не работала.
Самое смешное было: когда я вошел
$ where puppet
# Response:
C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet.bat
в каждом ударе (включая Mysysgit) я получил правильный путь. (Кажется, что только Powershell не совсем понимает, where
использовать). В оболочке PuppetLabs я даже получил второй путь
$ where puppet
# Response
C:\Program Files (x86)\Puppet Labs\Puppet\puppet\bin\puppet
C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet.bat
Мои системные переменные окружения были отлично настроены: echo $PATH
показал мне, что присутствовали оба включенных пути. Еще type puppet
не работал.
После того, как я добавил C:\Program Files (x86)\Puppet Labs\Puppet\bin\puppet.bat
к моей $PATH
внезапно команда puppet
была распознана ... и потерпела неудачу.
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>'
Версия марионетки 3.5.1
(последняя)
Я установил Ruby 1.9.3 и Ruby 2.0.x в моей системе. Может быть, конфликт с установками Ruby? Он не отображается ни в какой другой оболочке /Bash /Terminal /Console.