正确命令是composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/,需严格满足键名准确、显式声明type值、URL末尾带斜杠,并执行clear-cache验证生效。

执行全局配置命令必须带 -g 和完整 URL 格式
直接运行 composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ 即可生效。注意三个硬性点:repo.packagist 是固定键名,不能写成 repos.packagist 或 repo.packagist.org;中间的 composer 是 type 值,不可省略;URL 末尾斜杠 / 必须存在,否则 Composer 2.2+ 会报 Invalid repository type 或返回 404。
验证是否真写入成功,别只看命令有没有报错
运行 composer config -g repo.packagist,输出必须是 https://mirrors.cloud.tencent.com/composer/(新版)或完整 JSON 对象(旧版)。如果输出为空、是 {"type":"composer","url":"https://packagist.org"},说明配置根本没写进去——常见原因是拼错键名、漏 -g、或用错了 shell(Windows PowerShell 中 URL 建议加双引号包裹)。
清缓存后测延迟,composer show 比 ping 更准
执行 composer clear-cache,看到两行 Clearing cache (cache-dir): 和 Clearing cache (cache-vcs): 才算完成。之后用 composer show laravel/framework --no-ansi | head -n 3 观察响应头或 URL 字段:若出现 mirrors.cloud.tencent.com 且耗时明显低于 10 秒,说明已走镜像;若仍卡在 Resolving packages... 或报 Could not fetch https://packagist.org/packages.json,大概率是项目级 repositories 配置覆盖了全局设置,需检查项目根目录下 composer.json 是否含自定义仓库声明。
真实网络延迟受 DNS 和证书链影响,别只盯着命令行输出
即使配置全对、缓存已清、composer show 显示腾讯云域名,仍可能慢或失败。此时重点排查:ping mirrors.cloud.tencent.com 看是否通(教育网/企业防火墙常拦截该域名);curl -I https://mirrors.cloud.tencent.com/composer/ 应返回 200 OK;检查环境变量 http_proxy / https_proxy 是否残留;腾讯云镜像使用 TrustAsia 证书,在极少数 OpenSSL 版本下校验失败,但不应关 secure-http,而应优先换阿里云源测试对比。


















