1. 依赖管理:在 composer.json 中声明需要的包和版本约束,Composer 自动解析依赖树并安装到 vendor/ 目录。
  2. 版本锁定:生成 composer.lock 锁定每个包的确切版本,保证开发、测试、生产环境依赖一致。
  3. 自动加载:自动生成 vendor/autoload.php,支持 PSR-4 / PSR-0 / classmap 等加载规则,无需手动 require。
  4. 包生态:默认从 Packagist(PHP 官方包仓库,30 万+ 包)下载,也可配置私有仓库。
  5. 脚本钩子:支持在 install、update 等生命周期节点执行自定义脚本。

常用命令

表格

命令作用
composer init初始化项目,生成 composer.json
composer require 包名添加并安装依赖
composer install按 lock 文件安装依赖
composer update更新依赖到最新兼容版本
composer remove 包名移除依赖
composer dump-autoload重新生成自动加载文件
composer show查看已安装的包

适用场景

  1. 安装 Laravel、Symfony 等框架及其扩展包。
  2. 管理项目中的第三方库(如 Guzzle、Carbon、Monolog)。
  3. 团队协作时统一依赖版本,避免"在我机器上能跑"的问题。

主要限制

  1. 仅用于 PHP 项目,不能管理其他语言依赖。
  2. 默认只从 Packagist 获取包,需手动配置镜像(国内建议阿里云镜像)加速下载。
  3. vendor/ 目录不应提交到 Git,需配合 .gitignore 使用。