2013-10-04 2 views
0

я получил этот метод в рецептеповар сценарий муравей: команда не найдена

script "bashbashed" do 
    interpreter "bash" 
    user "root" 

    code <<-EOH 
    cd /my/path 
    ant clean 
    ant build 
    ant deploy 
    EOH 
end 

возвращается

localhost STDERR: /tmp/chef-script20131004-5434-823zxp: line 1: cd: tarball: No such file or directory 
localhost /tmp/chef-script20131004-5434-823zxp: line 4: ant: command not found 
localhost /tmp/chef-script20131004-5434-823zxp: line 5: ant: command not found 
localhost /tmp/chef-script20131004-5434-823zxp: line 6: ant: command not found 

Войти для гостей и сделать муравья -version. Муравей установлен в гостях. я все еще что-то пропустил?

+0

ok .. я поставил рецепт муравья в тот же список, я подумал, что до тех пор, пока муравей уже установлен в гостевой. "run_list": [ \t "рецепт [муравей]", \t "рецепт [myrecipe]" ] – Ryan

+0

Вы нашли решение этой проблемы? Это нормально ответить на собственный вопрос. Не забудьте отметить правильный ответ! :) – sethvargo

ответ

0

Сообщения об ошибках указывают на 2 проблемы:

  1. путь /my/path не существует.
  2. он не содержит путь к вашей установке java ant в $PATH.

Обновленная версия:

script "bashbashed" do 
    interpreter "bash" 
    user "root" 
    cwd "/my/path" # make sure this path exists 
    path "#{ENV['PATH']}:/opt/ant/bin" # customize to the location of your ant command 

    code <<-EOH 
    ant clean build deploy 
    EOH 
end 
0

Ваша проблема заключается в том, что файлы среды, поставляемые под «/etc/profile.d/*» не поступают корневым пользователем, это объясняет, почему ваш Баш скрипт (работает от имени пользователя root) не имеет муравей, настроенного на своем пути.

Возможно, простым решением было бы запустить сборку как обычную учетную запись пользователя?

Смежные вопросы