错误:composer不是Ansible任务或处理程序中的合法参数
嗨,我一直在尝试让ansible run composer安装,以便在我的laravel文件中安装composer.json中的所有内容。但是我得到了这个错误:composer不是Ansible任务或处理程序中的合法参数,我不确定是什么导致了这个错误。下面是我剧本的内容错误:composer不是Ansible任务或处理程序中的合法参数,ansible,ansible-2.x,vagrant-provision,Ansible,Ansible 2.x,Vagrant Provision,嗨,我一直在尝试让ansible run composer安装,以便在我的laravel文件中安装composer.json中的所有内容。但是我得到了这个错误:composer不是Ansible任务或处理程序中的合法参数,我不确定是什么导致了这个错误。下面是我剧本的内容 --- - name: Install PHP5+ apt: name={{ item }} update_cache=yes state=latest with_items: - git - mcryp
---
- 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在我的composer json中安装所有依赖项
我通常只使用Ansible Galaxy的角色,例如用于此类需求 根据,Ansible 1.6提供了
composer
模块,但要求composer预先安装在可执行路径上
如果使用安装程序(从geerlingguy.Composer tasks/main.yml)安装Composer,通常需要多个步骤
- 检查是否安装了Composer
- 下载Composer安装程序(使用Ansible
)get\uURL
- 运行Composer安装程序(通过PHP可执行文件)
- 将Composer移动到全局可访问的位置
- 将Composer更新至最新版本(如果已配置)
- 确保composer目录存在
- 为Composer添加GitHub OAuth令牌(如果已配置)
或者,您可以下载最新版本,或者使用标记的版本使其可执行,并将其移动到适当的目录中。看来我的Ansible版本确实是较低的版本。我有1.5个字母。我在一个.sh文件中预安装了我的ansible,并在vagrant启动时运行它。我修复了这个问题,并在安装ansible之前先进行了apt get更新,以确保ansible是最新版本,现在我可以运行composer安装。感谢您指出作曲家的版本avaialble@MadzmarUllang如果您使用的是Ansible 1.5,为什么要在问题上加上?@Alister,因为一开始我不知道该版本是问题所在,我以为我已经安装了最新的Ansible,即2.0