composer报错repository not found,主因是composer.json中配置了已下线、拼写错误的私有仓库,或使用了失效镜像源(如腾讯云、华为云旧镜像),需逐个验证repositories地址连通性及协议合法性。
Composer 报错 Repository not found,基本就是 composer.json 里配置了已下线或拼写错误的私有仓库地址,或者用了被弃用的 Packagist 镜像源。
检查 repositories 配置是否指向已关闭的私有源
很多团队曾用自建 Satis 或 Toran Proxy 搭建私有包仓库,但服务停运后,composer.json 中残留的 "type": "composer" 仓库地址会持续触发 Repository not found。Composer 不会主动提示“源不可达”,而是统一报这个模糊错误。
- 运行
composer config repositories查看当前所有注册仓库 - 逐个访问
url字段值(如https://packages.example.com),确认 HTTP 状态码是否为 200,且返回内容含packages.json结构 - 若域名解析失败、返回 404 或 TLS 证书过期,直接从
composer.json中移除对应repositories条目,或改用"packagist.org": false+ 替代镜像
国内用户慎用已失效的镜像源(如腾讯、华为旧版)
腾讯云 Composer 镜像(https://mirrors.cloud.tencent.com/composer/)和华为云旧镜像(https://mirrors.huaweicloud.com/repository/php/)已于 2023 年底起逐步下线,但大量教程和脚手架仍保留这些地址。一旦配置进全局或项目级 config,composer update 就会卡在 repo 探测阶段并报 Repository not found。