ОШИБКА: композитор не является допустимым параметром в задаче или обработчике Ansible.

Привет, я пытался сделать установку Ansible Run Composer для установки всего содержимого моего composer.json внутри моего файла laravel. Но я получаю эту ошибку ОШИБКА: композитор не является допустимым параметром в задаче или обработчике Ansible Я не уверен, что вызывает это. Ниже приведено содержание моего playbook.

---
- name: Install PHP5+
  apt: name={{ item }} update_cache=yes state=latest
  with_items:
    - git
    - mcrypt
    - php5-cli
    - php5-curl
    - php5-fpm
    - php5-intl
    - php5-json
    - php5-mcrypt
    - php5-sqlite
    - sqlite3
  notify:
    - Reload Nginx
- name: install composer
  shell: curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  args:
    creates: /usr/local/bin/composer
- composer:
    command: install
    working_dir: /path/to/project

Теперь, если я делаю бродячие условия, я получаю, что Composer не является допустимым параметром. По сути, я просто хотел запустить композитор и сказать композитору установить все зависимости внутри моего композитора json.

http://docs.ansible.com/ansible/composer_module.html


person MadzQuestioning    schedule 10.03.2017    source источник


Ответы (1)


Обычно я просто использую роль из Ansible Galaxy, например geerlingguy.composer для таких требований. .

Согласно Ansible Docs, модуль composer доступен из Ansible 1.6, но требует композитора быть предварительно установленным на пути к исполняемому файлу.

Установка Composer обычно представляет собой многоэтапный процесс, если вы используете установщик (из geerlingguy.composer tasks/main.yml).

  • Проверьте, установлен ли Composer.
  • Загрузите установщик Composer (с Ansible get_url).
  • Запустите установщик Composer (через исполняемый файл PHP).
  • Переместите Composer в глобально доступное место.
  • Обновите Composer до последней версии (если настроено).
  • Убедитесь, что каталог композитора существует.
  • Добавьте токен GitHub OAuth для Composer (если он настроен).

Или вы можете загрузить последнюю версию, https://getcomposer.org/composer.phar или помеченная версия, сделайте ее исполняемой и переместите в соответствующий каталог.

person Alister Bulman    schedule 10.03.2017
comment
Кажется, что моя версия Ansible действительно является более низкой версией. У меня 1.5 ансибл. Я сделал предварительную установку своего ansible в файле .sh и запускал его при загрузке бродяги. - person MadzQuestioning; 10.03.2017
comment
Я исправил проблему и сначала сделал обновление apt-get перед установкой ansible, чтобы убедиться, что ansible находится в его последней версии, и теперь я смог запустить установку композитора. Спасибо, что указали версию, в которой композитор доступен. - person MadzQuestioning; 10.03.2017
comment
@MadzmarUllang Если вы использовали Ansible 1.5, почему вы пометили вопрос тегом ansible-2.x? - person techraf; 11.03.2017
comment
@Alister, потому что сначала я не знал, что проблема была в версии, и думал, что установил последнюю версию 2.0. - person MadzQuestioning; 12.03.2017