Сообщение об ошибке показывает, что git
жалуется на то, что переменная окружения HOME
не установлена. Другие ответы описывают, как вы можете предоставить значение для этой переменной, но это не обязательно правильный подход к этой конкретной проблеме.
Учтите, что тот факт, что git
заботится о HOME
, говорит о том, что он пытается установить конфигурацию на уровне пользователя. Если это действительно то, что вы хотите, то хорошо, но делать это через Puppet кажется немного излишним против . просто запускаю команду напрямую. С другой стороны, если с помощью «--global» вы решили установить свойство на уровне для всей системы , то вас ждет сюрприз. git config --global
устанавливает "глобальную" конфигурацию в смысле воздействия на все репозитории конкретного пользователя (которые не переопределяют его). Общесистемные свойства выбираются с помощью опции --system
:
exec { 'make-git-color':
command => '/usr/bin/git config --system color.ui auto',
logoutput => 'on_failure',
user => 'vagrant',
timeout => 1200,
require => Package['git'],
unless => 'git config --list --system | grep -q color.ui=auto',
}
В этом случае вам также следует рассмотреть вопрос о целесообразности запуска команды от имени пользователя 'vagrant', так как неясно, имеет ли этот пользователь соответствующие полномочия для изменения общесистемной конфигурации.
Вам также следует подумать, нужен ли вам такой длительный таймаут. Я не совсем понимаю обстоятельства, при которых вы ожидаете, что потребуется достаточно много времени, чтобы обрести разумную уверенность в том, что команда повисла.