答案是镜像未生效:配置错误(键名/类型/URL格式不符)、缓存未清或项目级repositories覆盖全局设置,任一存在均导致Composer静默回退至packagist.org。

“Could not find package”不是包不存在,而是 Composer 根本没连上你配的镜像——配置写错、缓存没清、项目级 repositories 覆盖了全局设置,三者任一存在,就会安静 fallback 到 packagist.org。
验证镜像是否真生效:只看 composer config -g repo.packagist 输出
这条命令必须输出完整 JSON,例如:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}。如果返回空、null、Key not found 或仍是 https://packagist.org,说明配置根本没写进去。
- 键名必须是
repo.packagist(单数、小写、不能多 s) - 中间必须显式传入
composer作为 type 值,漏掉就静默失效 - URL 必须以
https://开头,且末尾带/;https://mirrors.aliyun.com/composer❌ 会拼成/composerpackages.json导致 404 - 必须加
-g,否则只改当前项目composer.json,换目录即失效
项目级 repositories 字段会彻底屏蔽全局镜像
只要 composer.json 里有 "repositories" 字段(哪怕只是 "repositories": [] 或 "repositories": {"packagist.org": false}),全局配置就完全不生效。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 检查方法:
grep -A5 repositories composer.json - 临时清除:
composer config --unset repositories(注意不加-g) - 长期方案:进项目根目录,运行
composer config repo.packagist composer https://mirrors.aliyun.com/composer/(不加-g),它会自动合并进composer.json的repositories对象中 - 若原
repositories是数组(如[]),需先手动改为{}再执行,否则报错
清缓存 + 删 vendor + 删 composer.lock 是硬性步骤
缓存里存着旧的 packages.json 元数据,哪怕镜像已配对,Composer 仍会优先读缓存、继续请求 packagist.org;composer.lock 里硬编码了 dist URL,不删它,Composer 就一直重试失败路径。
- 必须执行:
composer clear-cache - Windows 用户还需手动删:
%LOCALAPPDATA%\Composer\cache - 删掉:
rm -rf vendor/ composer.lock - 再跑:
composer install -vvv,观察日志中所有Downloading行的域名是否含mirrors.aliyun.com
Composer 2.2+ 用户注意:键名已变更为 repositories.packagist.org
如果你用的是 Composer 2.2 或更高版本(composer --version 查看),repo.packagist 已被弃用,必须用新键名,且值必须是合法 JSON 字符串。
- 正确命令:
composer config -g repositories.packagist.org '{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}' - 必须用双引号包裹整个 JSON,单引号或漏引号都会静默失败
- 验证方式不变:
composer config -g repositories.packagist.org必须输出完整 JSON - 仍需清缓存、删
vendor和composer.lock,否则日志里看不到镜像域名
最容易被忽略的是:你以为配好了,其实 composer install -vvv 日志第一行下载地址还是 packagist.org —— 那就说明前面所有操作都白做了,得从验证配置开始重来。

















