geerlingguy.composer
Ansible 角色:Composer
在任何 Linux 或 UNIX 系统上安装 PHP 依赖管理工具 Composer。
需求
- 必须安装并正常工作的
php
(版本 5.4+),可以使用geerlingguy.php
角色进行安装。 - 必须安装并正常工作的
git
,可以使用geerlingguy.git
角色进行安装。
角色变量
可用的变量如下所示,以及默认值(见 defaults/main.yml
):
composer_path: /usr/local/bin/composer
Composer 安装路径,系统中可用的路径。应在用户的 $PATH
中,以便能够简单使用 composer
来运行命令,而不是完整路径。
composer_keep_updated: false
设置为 true
时,每次运行剧本时都会更新 Composer 到最新版本。
composer_home_path: '~/.composer'
composer_home_owner: root
composer_home_group: root
COMPOSER_HOME
路径和目录所有权;这是全局包安装的目录。
composer_version: ''
可以安装特定版本的 Composer,例如 composer_version: '1.0.0-alpha11'
。如果留空,将安装最新的开发版本。注意,composer_keep_updated
将覆盖此变量,因为它总是会安装最新的开发版本。
composer_version_branch: '--2'
可以选择要使用的 Composer 主分支。默认是 --2
。注意,composer_keep_updated
将更新此分支的最新版本。
composer_global_packages: []
要全局安装的包列表(使用 composer global require
)。如果要全局安装任何包,请添加包含包的 name
和 release
的字典列表项,例如 - { name: phpunit/phpunit, release: "4.7.*" }
。release
是可选的,默认是 @stable
。
composer_add_to_path: true
如果为 true
,并且有配置的 composer_global_packages
,则 composer_home_path
内的 vendor/bin
目录将添加到系统的默认 $PATH
(对所有用户)。
composer_project_path: /path/to/project
Composer 项目的路径。
composer_add_project_to_path: false
如果为 true
,并且已配置 composer_project_path
,则 composer_project_path
内的 vendor/bin
目录将添加到系统的默认 $PATH
(对所有用户)。
composer_github_oauth_token: ''
用于避免在使用 Composer 构建和重建应用程序时出现 GitHub API 速率限制错误的 GitHub OAuth 令牌。如果遇到速率限制错误,请按照 GitHub 的说明 创建个人访问令牌。
php_executable: php
PHP 可执行文件的名称或完整路径。如果不覆盖变量,则默认值为 php
。
保持使用 Composer 1
在项目升级以支持 Composer 2 时,使用 Composer 1 可能会很有帮助。要做到这一点,设置以下变量:
composer_version_branch: ''
composer_version: '1.10.12'
依赖关系
无(但请确保您已经安装了 PHP;推荐使用 geerlingguy.php
角色)。
示例剧本
- hosts: servers
roles:
- geerlingguy.composer
剧本运行后,composer
将被放置在 /usr/local/bin/composer
(此位置是可配置的),并将通过普通系统账户访问。
许可证
MIT / BSD
作者信息
此角色由 Jeff Geerling 创建于 2014 年,他是 Ansible for DevOps 的作者。