Composer install慢90%因镜像未生效、缓存未清、参数未用对;必须验证composer config -g repo.packagist输出为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"},再执行clear-cache并加--prefer-dist --no-dev --optimize-autoloader提速。

Composer执行composer install慢,90%不是网速问题,而是镜像没生效、缓存没清、参数没用对——三者缺一不可。
确认镜像源是否真正生效
别信“我刚执行了命令”,必须亲眼验证:
- 运行
composer config -g repo.packagist,输出必须是完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}(注意末尾斜杠 ✅) - 如果输出为空、
null、或仍是https://packagist.org,说明根本没走镜像 - 执行
composer install -vvv,日志末尾要出现类似Reading packages.json from cache at /home/xxx/.composer/cache/repo/https---mirrors-aliyun-com-composer/才算真正命中 - 常见静默失败原因:
repos.packagist(多一个 s)、漏掉-g、URL 少斜杠、PHP 禁用putenv()导致配置写不进文件
必须清理缓存并重建元数据
镜像只加速远程请求,但 Composer 默认优先读本地缓存——如果缓存里还是 packagist.org 的元数据,它压根不会发请求到镜像站,卡在 DNS/TLS 是必然的:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先执行
composer clear-cache(不是composer cache-clear,后者已废弃) - 删掉
vendor/和composer.lock(尤其项目级换源后,旧 lock 文件仍记录海外 dist URL,会导致 hash 校验失败) - 加
--no-cache强制跳过缓存:composer install --no-cache --prefer-dist --no-dev - 项目级配置后,必须运行
composer update --lock,否则 lock 文件不会更新源地址
关键参数组合不能少
单独换镜像最多提速 2–3 倍;组合使用才能把 4–6 分钟压到 20–40 秒:
-
--prefer-dist:强制下载 ZIP 包而非 clone Git,但前提是镜像已生效且包有 dist 字段;若日志中仍出现Cloning https://github.com/,说明 fallback 到 source 了 -
--no-dev:跳过require-dev依赖,减少 50%+ 文件量,生产环境必须加 -
--optimize-autoloader(或-o):生成类映射,提升后续运行时加载速度,非安装阶段提速主因,但部署时建议带上 -
parallel-downloads=10:Composer 2.2+ 才生效,并发下载 ZIP 包;设太高可能触发file_put_contents(/tmp/): failed to open stream,此时降到 6 或 8
容易被忽略的硬约束
这些点不满足,前面所有操作都白搭:
- 项目级
"prefer-source": true会直接覆盖全局--prefer-dist,必须用composer config --unset prefer-source删掉 -
path类型依赖(如"monolog/monolog": {"type": "path", "url": "../monolog"})无法走 dist,必然 fallback 到 source,且不参与并发下载 - 某些 CI 环境(如 GitHub Actions)每次构建都是干净容器,必须在 workflow 中提前加
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 镜像 URL 必须 HTTPS 且以
/结尾,拼错一个字符(比如少斜杠)就会返回 404,Composer 静默回退官方源

















