- 依赖管理:在
composer.json中声明需要的包和版本约束,Composer 自动解析依赖树并安装到vendor/目录。 - 版本锁定:生成
composer.lock锁定每个包的确切版本,保证开发、测试、生产环境依赖一致。 - 自动加载:自动生成
vendor/autoload.php,支持 PSR-4 / PSR-0 / classmap 等加载规则,无需手动require。 - 包生态:默认从 Packagist(PHP 官方包仓库,30 万+ 包)下载,也可配置私有仓库。
- 脚本钩子:支持在
install、update等生命周期节点执行自定义脚本。
常用命令
表格
| 命令作用 | |
composer init | 初始化项目,生成 composer.json |
composer require 包名 | 添加并安装依赖 |
composer install | 按 lock 文件安装依赖 |
composer update | 更新依赖到最新兼容版本 |
composer remove 包名 | 移除依赖 |
composer dump-autoload | 重新生成自动加载文件 |
composer show | 查看已安装的包 |
适用场景
- 安装 Laravel、Symfony 等框架及其扩展包。
- 管理项目中的第三方库(如 Guzzle、Carbon、Monolog)。
- 团队协作时统一依赖版本,避免"在我机器上能跑"的问题。
主要限制
- 仅用于 PHP 项目,不能管理其他语言依赖。
- 默认只从 Packagist 获取包,需手动配置镜像(国内建议阿里云镜像)加速下载。
vendor/目录不应提交到 Git,需配合.gitignore使用。