换源后仍慢主因是配置未生效或被覆盖:需确认composer config -g repo.packagist输出正确json、执行composer clear-cache、检查项目级repositories是否覆盖全局配置,并验证composer install -vvv日志中是否真实从国内镜像拉取。

国内直接用官方源 packagist.org 下载 Composer 包,大概率会卡在 Installing dependencies 或反复超时,根本原因不是网络不稳,而是 DNS 解析、TLS 握手和镜像同步延迟三重叠加 —— 换源只是第一步,配置不对照样慢。
为什么换源后还是慢?关键看 composer config 的全局设置
很多人只执行 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,但没意识到:这个配置只影响新项目,旧项目仍走默认源;而且如果本地 composer.json 里写了 "repositories",它会完全覆盖全局配置。
- 检查当前生效源:
composer config -l | grep repos,重点看repositories.0.url是否为你设的镜像地址 - 强制清除项目级源配置:
composer config --unset repositories(再运行前先备份composer.json) - 阿里云、腾讯云、华为云镜像都支持 HTTPS,但部分企业防火墙会拦截自签名证书,可临时加
-n跳过验证(仅调试用)
composer install 卡在 Downloading... 时该查什么
不是等,是查。Composer 默认并发下载 4 个包,但实际吞吐受限于 DNS 响应和 TCP 连接复用 —— 尤其当镜像站返回 302 重定向时,curl 底层可能反复建连。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 开 debug 模式看真实请求:
composer install -v,留意日志里是否出现Failed to decode response或Connection timed out - 手动测试镜像可用性:
curl -I https://mirrors.aliyun.com/composer/p2/vimeo/psalm.json,HTTP 状态码必须是 200,不是 301/302 - 禁用压缩加速下载:
composer config -g disable-tls true(仅限内网可信环境,生产禁用)
PHP 版本和 Composer 版本不匹配导致下载失败
Composer 2.5+ 默认启用 https://repo.packagist.org/packages.json 的增量更新机制,但 PHP 7.2 以下不支持 json_decode 的 JSON_INVALID_UTF8_IGNORE 标志,会导致解析失败并静默重试。
- 确认版本兼容:
php -v和composer -V,PHP ≥ 7.2.5 + Composer ≥ 2.2 是安全组合 - 降级 Composer(临时方案):
composer self-update --1切到 v1.x,但注意 v1 已停止维护,仅用于过渡 - 避免混用全局和局部 Composer:项目目录下有
composer.phar时,优先执行它而非系统 PATH 中的版本
最常被忽略的是镜像站的元数据缓存周期 —— 阿里云镜像默认 5 分钟同步一次 packagist,如果你刚发布一个新版本包,等不到最新索引是正常的,别急着切回官方源。这时候用 composer clear-cache 没用,得等镜像站自己拉取。










