community.general.composer 模块 – PHP 的依赖项管理器
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您正在使用 ansible 软件包,则您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install community.general。您需要其他需求才能使用此模块,请参阅 需求 获取详细信息。
要在剧本中使用它,请指定: community.general.composer。
摘要
- Composer 是一个用于 PHP 依赖项管理的工具。它允许您声明项目所需的依赖库,它将为您安装到项目中。 
需求
以下需求是在执行此模块的主机上需要的。
- php 
- 在 bin 路径中安装 composer(推荐 /usr/local/bin)或在 - composer_executable中指定
参数
| 参数 | 注释 | 
|---|---|
| 使用 APCu 缓存已找到/未找到的类 选项 
 | |
| Composer 参数,例如所需包、版本等。 默认:  | |
| 仅从 classmap 自动加载类。 隐式启用 optimize_autoloader。 尤其推荐用于生产环境,但运行可能需要一些时间。 选项 
 | |
| Composer 命令,例如“install”、“update”等。 默认:  | |
| 远程主机上 composer 可执行文件的路径,如果 composer 不在  | |
| 远程主机上 PHP 可执行文件的路径,如果 PHP 不在 PATH 中。 | |
| 全局运行指定的命令。 选项 
 | |
| 忽略 php、hhvm、lib-* 和 ext-* 需求,即使本地机器不满足这些需求也强制安装。 选项 
 | |
| 禁用 require-dev 包的安装(参见 –no-dev)。 选项 
 | |
| 禁用所有插件(参见 –no-plugins)。 选项 
 | |
| 跳过在 composer.json 中定义的所有脚本的执行(参见 –no-scripts)。 选项 
 | |
| 在自动加载器转储期间优化自动加载器(参见 –optimize-autoloader)。 将 PSR-0/4 自动加载转换为 classmap 以获得更快的自动加载器。 尤其推荐用于生产环境,但运行可能需要一些时间。 选项 
 | |
| 即使对于开发版本也强制从包发行版安装(参见 –prefer-dist)。 选项 
 | |
| 尽可能强制从包源安装(参见 –prefer-source)。 选项 
 | |
| 项目的目录(参见 –working-dir)。当命令不是全局运行时,这是必需的。 如果  | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持:完全支持 | 可以在  | |
| 支持:不支持 | 处于 diff 模式时,将返回有关已更改内容(或可能需要在  | 
备注
注意
- 每次执行时始终追加的默认选项是 –no-ansi、–no-interaction 和 –no-progress(如果可用)。 
- 我们收到了关于如果 composer 由 Homebrew 安装,则在 macOS 上出现问题的报告。请使用官方安装方法以避免问题。 
示例
- name: Download and installs all libs and dependencies outlined in the /path/to/project/composer.lock
  community.general.composer:
    command: install
    working_dir: /path/to/project
- name: Install a new package
  community.general.composer:
    command: require
    arguments: my/package
    working_dir: /path/to/project
- name: Clone and install a project with all dependencies
  community.general.composer:
    command: create-project
    arguments: package/package /path/to/project ~1.0
    working_dir: /path/to/project
    prefer_dist: true
- name: Install a package globally
  community.general.composer:
    command: require
    global_command: true
    arguments: my/package
