Composer install卡在Loading repositories是因未正确配置国内镜像源或缓存未清,需验证config、清除缓存并确保URL结尾有/;卡在Downloading则因composer.lock仍指向GitHub,需删lock重装;卡在Resolving dependencies是本地依赖求解复杂,应收紧版本约束。

composer install 卡在 Loading composer repositories 是元数据没拉下来
这行输出不是“正在准备”,而是 Composer 正在同步 packagist.org 的全量包索引(packages.json),大小常超 20MB,且默认走 HTTPS + 无 CDN 的国外源。国内直连时 DNS 解析慢、TLS 握手失败、连接重置都会导致卡住或超时。
- 别等它自己好——反复重试只会重复失败流程,缓存里还存着坏的元数据
- 先验证镜像是否真生效:
composer config -g repo.packagist输出必须是完整 JSON,形如{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"};空、null或仍是https://packagist.org都说明配置失败 - URL 必须以
/结尾,少一个斜杠会拼出/composerpackages.json,直接 404 - 执行
curl -I https://mirrors.aliyun.com/composer/packages.json看是否返回200 OK,避免企业防火墙或老旧系统证书链不信任导致握手失败
换源后还是卡在 Downloading,说明 zip 包没走镜像
阿里云、华为云等镜像只代理元数据(packages.json),不托管实际 ZIP 包。一旦 composer.lock 里记录的是 https://api.github.com/ 或 https://codeload.github.com/,Composer 就会照单下载,完全无视你配的镜像源。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
composer install -vvv | grep "Downloading"如果看到的是github.com域名,问题就在这儿 - 临时解决:删掉
composer.lock和vendor/,再跑composer install,让 Composer 重新从镜像元数据里生成带新 dist URL 的 lock 文件 - 长期方案:项目中加
"prefer-dist": true(全局可设composer config -g prefer-dist true),强制走 ZIP 下载而非 git clone - CI/CD 或宝塔环境要注意用户权限——
www用户运行命令,就得用sudo -u www composer config -g ...,否则写进的是 root 的配置
Resolving dependencies 卡住,跟网络无关,是本地求解器在爆破
这一阶段不发任何网络请求,纯 CPU 计算。Composer 要穷举所有满足 require 版本约束的组合,宽泛约束会让复杂度指数级上升。
- 典型诱因:
"php": "^7.4 || ^8.0"、"minimum-stability": "dev"、版本号写成"*"或"^1.0 || ^2.0" - 不要指望换镜像能提速——这一步根本不用联网
- 收紧约束:把
*换成具体版本(如"monolog/monolog": "2.13.0"),删掉minimum-stability或设为"stable" - 用
composer update --with-dependencies -vvv观察哪一层依赖触发了长时间计算,针对性锁定版本
全局配置写错、缓存没清、权限不对,三者任一都会让加速失效
镜像配置不是“写了就生效”,Composer 会优先读缓存里的旧元数据,哪怕你刚改完配置,它仍试图从 packagist.org 拉校验信息,结果卡在 DNS 或 TLS。
- 必须执行三步闭环:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/→composer clear-cache→composer install - 漏掉
clear-cache,等于白配;漏掉composertype 参数,命令静默失败;多写一个s(repos.packagist)也会被忽略 - 某些 CI 环境禁用
putenv(),导致config -g写配置失败但不报错,建议在构建脚本里加一行cat ~/.composer/config.json直接看文件内容 - 华为云镜像(
https://mirrors.huaweicloud.com/repository/php/)可作为阿里云备选,清华源已关闭,PHPComponer 已下线,别信过期教程

















