Composer 2 默认启用并行下载,显著提升依赖安装速度;需确保使用2.x版本、启用curl扩展,且未设置禁用环境变量,自动调度3–5个并发请求,特殊情况可调COMPOSER_PARALLEL。

Composer 2 默认已启用并行下载,无需额外配置即可显著提升依赖安装速度。关键在于确保环境满足条件,并理解它如何工作。
确认 Composer 版本和 PHP 配置
并行下载在 Composer 2.0+ 中原生支持,但依赖 PHP 的 curl 扩展(推荐使用 ext-curl)和足够数量的并发连接能力。不支持 ext-zlib 单独启用的极简环境。
- 运行
composer --version确保是Composer version 2.x - 检查是否启用了
curl:php -m | grep curl - 避免设置
COMPOSER_DISABLE_PARALLEL=true或--no-parallel参数
默认行为:自动启用,无需手动开启
Composer 2 在执行 composer install 或 composer update 时,会根据网络状况和包数量自动调度多个并发 HTTP 请求(通常为 3–5 个),同时拉取不同包的 zip 文件或元数据。
- 你不会看到“并行”字样输出,但下载阶段明显比 Composer 1 快
- 下载过程由 Composer 内部调度,不依赖外部工具(如 aria2)
- 如果某个包源响应慢,Composer 会自动降级为单请求,不影响整体流程
可选调优:限制并发数(仅在特殊场景下)
绝大多数情况无需干预,但在受限网络(如企业代理、低带宽)或调试时,可通过环境变量微调:
-
COMPOSER_PARALLEL=2:强制最多 2 个并发连接(低于默认值) -
COMPOSER_PARALLEL=8:提高上限(一般不建议超过 8,可能触发某些镜像限流) - 临时生效:
COMPOSER_PARALLEL=4 composer install
注意兼容性与例外情况
并行下载对大多数 packagist.org 和私有 VCS 包(Git)有效,但以下情况会退回到串行:
- 使用
path类型仓库(本地路径) - 启用
"prefer-source": true且大量 Git 克隆(Git 本身不并行,但 Composer 仍并行发起 clone 命令) - 部分自定义仓库实现未正确支持并发 HEAD/OPTIONS 请求
基本上就这些。保持 Composer 更新到最新 2.x 小版本,用默认设置即可享受并行下载带来的提速效果。










