Composer 是 PHP 的一个依赖管理工具。
它帮助你管理项目中的库和依赖关系,使得安装、更新和加载这些库变得更加简单。
- 依赖管理:你可以在 composer.json 文件中列出项目所需的所有依赖库,Composer 会自动下载并安装这些库及其依赖项。
- 自动加载:Composer 提供了自动加载机制,允许你在代码中使用这些库,而无需手动包含每个文件。
- 版本控制:你可以指定依赖库的版本要求,Composer 会处理版本冲突,并确保所有依赖项都满足指定的版本约束。
- 包管理:Composer 使用 Packagist 作为默认的包仓库,你可以从中找到许多常用的 PHP 库和工具。
- 命令行工具:Composer 提供了一个命令行界面来管理依赖库,例如 composer install、composer update 和 composer require 等命令。
Composer 参数
全局参数
参数 | 含义 |
---|---|
-v / -vv / -vvv |
设置输出详细程度。越多的 v 输出信息越详细。 |
-n / --no-interaction |
运行命令时不进行交互,适用于自动化脚本。 |
-q / --quiet |
禁止输出任何内容。 |
--ansi |
强制启用 ANSI 格式化输出(颜色等)。 |
--no-ansi |
禁用 ANSI 格式化输出。 |
--profile |
显示性能数据(执行时间、内存使用等)。 |
--help |
显示命令的帮助信息。 |
常用命令和参数
composer require
添加一个新的依赖项到项目中。
参数 | 含义 |
---|---|
--dev |
将依赖项添加为开发依赖项(require-dev )。 |
--no-update |
添加依赖到 composer.json 文件,但不立即安装。 |
--update-no-dev |
更新依赖项时排除开发依赖。 |
--prefer-dist |
优先从 .zip 文件安装依赖,而不是从 Git 仓库克隆。 |
--prefer-source |
优先从源码安装依赖。 |
--with-all-dependencies |
更新所需包及其所有相关依赖项。 |
composer install
安装 composer.json 中声明的所有依赖项。
参数 | 含义 |
---|---|
--no-dev |
仅安装生产依赖项(跳过 require-dev 部分的包)。 |
--no-scripts |
禁止执行安装脚本(如 post-install-cmd )。 |
--prefer-dist |
优先从 .zip 文件安装依赖,而不是从 Git 仓库克隆。 |
--prefer-source |
优先从源码安装依赖。 |
--optimize-autoloader |
优化自动加载器,提高性能(推荐用于生产环境)。 |
composer update
更新所有依赖项到最新版本(遵循版本限制)。
参数 | 含义 |
---|---|
--with-dependencies |
同时更新指定包及其所有依赖项。 |
--no-dev |
仅更新生产依赖,忽略开发依赖。 |
--no-scripts |
禁止执行更新脚本(如 post-update-cmd )。 |
--lock |
仅更新 composer.lock 文件,而不改变 vendor 目录。 |
composer remove
移除一个依赖项。
参数 | 含义 |
---|---|
--dev |
仅从 require-dev 中移除依赖项。 |
--no-update |
移除依赖项后不更新项目的依赖(vendor 目录不会改变)。 |
composer dump-autoload
重新生成自动加载文件。
参数 | 含义 |
---|---|
--optimize |
为生产环境优化自动加载文件(生成类映射以加速加载)。 |
--classmap-authoritative |
禁用 PSR 映射,仅使用类映射(如果类未找到则报错)。 |
--no-dev |
排除开发依赖的类。 |
composer show
列出项目中的所有依赖项或某个依赖项的详细信息。
参数 | 含义 |
---|---|
--all |
显示依赖项的所有信息(包括版本、依赖关系等)。 |
--tree |
以树状结构显示依赖关系。 |
--installed |
仅显示已安装的依赖项。 |
composer clear-cache
清除 Composer 缓存目录,解决缓存问题。
高级功能命令
命令 | 含义 |
---|---|
composer validate |
验证 composer.json 文件的语法是否正确。 |
composer outdated |
显示所有可以更新的依赖项(包括当前版本和可用版本)。 |
composer config |
配置 Composer 选项(如镜像源、全局配置等)。 |
composer self-update |
更新 Composer 自身到最新版本。 |
参考文章: