composer 2.2+ 唯一有效的并发控制参数是 http-max-concurrent-downloads,低于2.2版本不识别该配置;需先执行 composer --version 确认版本 ≥2.2,再通过 composer config -g http-max-concurrent-downloads 6 全局设置,拼写必须全小写带连字符,且需启用 curl 扩展,最后用 composer install -vvv 观察多行 downloading 日志验证生效。

Composer 2.2+ 唯一有效的并发控制参数是 http-max-concurrent-downloads
低于 2.2 的版本根本不识别这个配置,设了也白设。先运行 composer --version,确认输出是 Composer version 2.2.0 或更高;如果是 2.1.x 或更老,必须先执行 composer self-update。这个参数只控制 HTTP 下载阶段的并发请求数(比如拉取 ZIP、packages.json),不影响依赖解析或脚本执行。
怎么设置才真正生效?拼写、作用域和验证缺一不可
常见失效原因不是没配,而是配错位置或权限不对:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
http-max-concurrent-downloads必须全小写、带连字符、开头有http-——少一个字符(如写成max-concurrent-downloads)就静默忽略 - 全局设置:用
composer config -g http-max-concurrent-downloads 6,值写进~/.composer/config.json - 项目级设置:去掉
-g,即composer config http-max-concurrent-downloads 4,写入当前项目的composer.json的config段 - 查看当前值:
composer config -g http-max-concurrent-downloads,输出应为数字,不是null或空 - 权限问题:若全局配置写入了
~/.composer/auth.json(比如配 GitHub Token),必须chmod 600 ~/.composer/auth.json,否则 Composer 会跳过整个文件
临时覆盖优先级最高:用环境变量 COMPOSER_MAX_PARALLEL_HTTP_REQUESTS
CI/CD 流水线或弱网环境推荐这种方式,它会直接覆盖 config 和 composer.json 里的设置:
- 正确变量名是
COMPOSER_MAX_PARALLEL_HTTP_REQUESTS(COMPOSER_PARALLEL自 2.2 起已废弃) - Linux/macOS:
COMPOSER_MAX_PARALLEL_HTTP_REQUESTS=3 composer install - PowerShell:
$env:COMPOSER_MAX_PARALLEL_HTTP_REQUESTS="3"; composer install - 某些老旧 CI 环境可能禁用环境变量传递,此时只能退回到项目级
composer.json配置(不推荐长期使用)
设多少合适?别踩镜像限流和本地资源的坑
并发数不是越大越好,尤其在公共镜像或容器环境下:
- 推荐值:6~8,兼顾速度与稳定性;设 10 可覆盖多数开发机带宽
- 别设 1:退化成串行,体验接近 Composer 1
- 别设 ≥12:阿里云、腾讯云等国内镜像常返回
429 Too Many Requests;GitHub 镜像也可能触发速率限制 - 如果 PHP 没启用
curl扩展(php -m | grep curl查),Composer 会自动降级为串行下载且不报错,此时调并发毫无意义 - 验证是否真生效:运行
composer install -vvv,观察日志里是否同时出现多行Downloading https://;若只有一行在动,说明被静默降级(DNS 卡顿、镜像拦截或 cURL 未启用都可能导致)










