composer 2.2+ 原生支持并行下载,需手动配置 parallel 参数(如 composer config -g parallel 6),默认关闭;它仅加速 download 阶段,受 github 限流和磁盘 i/o 影响,需配合镜像源与 token 使用。

Composer 默认是串行下载包的,但加个配置就能开启并行下载——不是靠插件,也不是改源码,而是原生支持的 parallel 配置项,设对了能明显缩短安装时间,尤其在带宽充足、磁盘 I/O 不成瓶颈的机器上。
为什么 composer install 还是慢?先确认是不是并行没开
Composer 2.2+ 原生支持并行下载,但默认关闭。很多人以为升级到新版就自动加速了,其实不然。慢的常见表现包括:终端长时间卡在 Downloading ...,同一时间只看到一个包在拉,top 或活动监视器里 PHP 进程 CPU 占用低、网络未跑满。
- 检查当前 Composer 版本:
composer --version(需 ≥ 2.2) - 查看是否启用并行:
composer config -g parallel,返回空表示未设置 - 并行开关只影响
install和update中的下载阶段,不改变依赖解析逻辑
怎么开启并行下载:直接改全局或项目级配置
并行数不是越大越好,一般设为 CPU 核心数 + 1 或带宽允许的并发连接数(比如 4~8)。设太高反而可能触发 GitHub API 限流或压垮本地 DNS。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 全局启用(推荐):
composer config -g parallel 6 - 仅当前项目启用:
composer config parallel 6 - 临时覆盖(单次命令):
COMPOSER_PARALLEL=8 composer install - 值设为
0表示禁用并行(等价于串行),设为null或删掉配置则回退到默认行为(目前默认仍是 0)
parallel 配置和 GitHub API 限流的关系
并行下载会同时发起多个请求,如果走的是 GitHub 的 api.github.com(比如安装 dev-main 分支或使用 package 类型仓库),容易撞上每小时 5000 次的未认证请求限制。
- 现象:
Could not fetch https://api.github.com/...: 403 rate limit exceeded - 解法一:配 GitHub Token:
composer config -g github-oauth.github.com "your_token_here" - 解法二:避免频繁访问 API —— 尽量用稳定版本(如
^3.2),少用dev-分支或repositories中的 VCS 类型源 - 注意:
parallel不影响 Packagist.org 的镜像请求,国内用户配好阿里云或腾讯云镜像后,并行效果更稳
并行下载生效但没变快?排查这几个点
并行只是优化下载阶段,如果卡在其他环节,调这个参数也没用。
- 卡在
Loading composer repositories with package information:这是元数据刷新,受packagist.org响应速度影响,可换镜像源解决 - 卡在
Resolving dependencies:纯 CPU 计算,和并行无关;复杂依赖树下建议加--no-suggest --no-plugins减负 - 卡在
Installing ...(解压/写文件):说明磁盘 I/O 或防病毒软件拖慢,此时增大parallel反而加重争抢 - 用
composer install -v观察各阶段耗时,定位真正瓶颈
真正起效的并行下载,需要版本、配置、网络环境三者配合。最容易被忽略的是 GitHub 限流和磁盘 I/O 瓶颈——光调高数字没用,得看它实际卡在哪一步。










