腾讯云 Composer 镜像已于2024年10月1日下线,需清除全局repos.packagist、项目repositories及环境变量配置,清缓存并验证请求路径是否指向repo.packagist.org。

腾讯云 Composer 镜像已于 2024 年 10 月 1 日正式下线,https://mirrors.cloud.tencent.com/composer/ 返回 HTTP 404,任何尝试复用该地址的配置都会失败——不是命令写错,是服务本身已不可用。
为什么 composer config -g --unset repo.packagist 不起作用
这是最常踩的坑:Composer 2.x 实际读取的是 repos.packagist(复数、带 s),而设镜像时用的键名是 repo.packagist(单数)。两者互不关联,删错一个,另一个还在生效。
- 执行
composer config -g --unset repo.packagist→ 白删,repos.packagist字段仍存在 - 漏掉
-g→ 只删当前项目配置,全局没动 - 字段名拼成
repositories或packagist.org→ 新建无效字段,原配置照旧
真正生效的还原操作(三步缺一不可)
必须清除残留配置、清空缓存、并验证请求路径,否则 composer update 仍可能卡在 404 或静默回退到错误源。
- 先删干净全局配置:
composer config -g --unset repos.packagist - 再清缓存:
composer clear-cache - 验证是否删净:
composer config -g repos.packagist应输出Key "repos.packagist" does not exist或为空
为什么删完还是走阿里云或腾讯云域名
Composer 查源顺序是:环境变量 > 项目级 composer.json 中的 repositories > 全局配置。哪怕全局删光了,只要项目里还留着旧配置,它就优先生效。
- 检查项目级配置:
grep -A5 '"repositories"' composer.json - 若发现
"url": "https://mirrors.cloud.tencent.com/composer/"或类似,运行:composer config --unset repositories(在项目目录下) - 检查环境变量:
env | grep COMPOSER_REPO_PACKAGIST(Linux/macOS)或echo %COMPOSER_REPO_PACKAGIST%(Windows),有输出就需先 unset
验证是否真回到官方源
不能只看 composer config 输出,得看实际网络请求——因为缓存未清或配置残留会导致「显示已还原,实则仍发包到镜像」。
- 运行:
composer require monolog/monolog --no-install -vvv - 滚动日志中找
Downloading https://开头的行,正确应为https://repo.packagist.org/packages.json - 若仍看到
mirrors.aliyun.com、mirrors.cloud.tencent.com或其他镜像域名,说明某一层还有残留
最关键的细节常被忽略:腾讯云镜像下线后,它留下的不只是 404,还会触发 Composer 2.7+ 的 HTTPS 校验中断机制——不会自动 fallback,而是直接报错或卡住。所以还原不是“删个配置”,而是清理三层覆盖 + 清缓存 + 验证请求链路。少一步,就可能白忙半小时。


















