错误:作曲家不是Ansible任务或处理程序

时间:2017-03-10 17:54:13

标签: ansible ansible-2.x vagrant-provision

您好我一直在尝试使用ansible run composer install在我的laravel文件中安装我的composer.json中的所有内容。但我收到此错误错误:作曲家不是Ansible任务或处理程序中的合法参数我不确定是什么导致了这一点。以下是我的剧本内容。

---
- 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不是一个合法的参数。基本上我只是想运行composer并告诉作曲家在我的作曲家json中安装所有依赖

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

1 个答案:

答案 0 :(得分:0)

我通常会使用Ansible Galaxy的角色,例如geerlingguy.composer来满足这些要求。

根据Ansible Docscomposer模块可从Ansible 1.6获得,但需要在可执行路径上预先安装composer。

如果您使用安装程序(来自geerlingguy.composer tasks / main.yml),则安装Composer通常会是一个多步骤的过程。

  • 检查是否已安装Composer。
  • 下载Composer安装程序(使用Ansible get_url)。
  • 运行Composer安装程序(通过PHP可执行文件)。
  • 将Composer移动到全球可访问的位置。
  • 将Composer更新到最新版本(如果已配置)。
  • 确保composer目录存在。
  • 为Composer添加GitHub OAuth令牌(如果已配置)。

或者,您可以下载最新版本https://getcomposer.org/composer.phar或标记版本,使其可执行并将其移动到适当的目录中。