Для меня такая же проблема возникла из-за неправильной настройки в моем файле app.config
. Я изменил настройку, и проблема была решена
source
- это внутренняя команда оболочки (см., например, Bash Builtin Commands ), а не внешнюю программу, которую вы можете запустить. В вашей системе нет исполняемого файла с именем source
, поэтому вы получаете ошибку No such file or directory
.
Вместо модуля command
используйте shell
, который будет выполнять source
внутри оболочки.
В цикле with_items
Ansible будет запускать оболочку дважды, и оба процесса будут независимы от каждого Другие. Переменные, установленные в одном, не будут отображаться другим.
Вы должны запустить две команды в одном процессе оболочки, например, с помощью:
- name: Install node {{ nvm.node_version }}
shell: "source /home/centos/.nvm/nvm.sh && nvm install {{ nvm.node_version }}"
tags: nvm
Используйте {{ ansible_env.HOME }}
вместо ~
в задаче git
. Любой из них будет работать здесь, но расширение тильды - это функциональность оболочки, и вы пишете код для Ansible.