真实请求url是判断镜像是否配成功的唯一依据:✅正确为https://mirrors.aliyun.com/composer/packages.json,❌失效为https://packagist.org/packages.json或https://repo.packagist.org/packages.json;composer diagnose中repo packagist.org行显示的地址才是最终生效源;项目composer.json中存在repositories字段(含空数组/空对象)会强制忽略全局镜像;需手动删除~/.composer/cache/repo/https---mirrors.aliyun.com-composer缓存子目录才能彻底刷新镜像元数据。

看日志里真实请求的 URL 是什么
镜像配没配成功,不看 composer config -g repo.packagist 的输出,而要看命令实际发出去的请求地址。它才是唯一可信依据。
执行带详细日志的安装或依赖操作:
composer clear-cache && composer require monolog/monolog --no-install -vvv
滚动日志中找第一行以 Downloading 开头的记录,重点看后面跟着的完整 URL:
- ✅ 正确:包含
https://mirrors.aliyun.com/composer/packages.json - ❌ 失效:出现
https://packagist.org/packages.json或https://repo.packagist.org/packages.json
只要看到后者,说明镜像根本没被读取——不是网络问题,是配置路径、用户、格式三者中至少一个错了。
检查 composer diagnose 里 Repo packagist.org 行
composer diagnose 输出中有一行叫 Repo packagist.org:,它显示的是 Composer 当前**真正使用的源地址**,比 config -g 更可靠,因为它已合并环境变量、项目级、全局三层配置。
运行后观察该行内容:
- 若显示
https://mirrors.aliyun.com/composer/(末尾带斜杠),说明镜像已生效 - 若显示
https://packagist.org/或为空,说明某层配置覆盖或屏蔽了你的镜像设置
注意:composer diagnose 不会报错,但这一行值就是最终决策结果,别跳过它。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
确认当前项目没用 repositories 字段覆盖全局
项目根目录下的 composer.json 里只要存在 "repositories" 字段(哪怕值是空数组 [] 或空对象 {}),Composer 就会直接忽略全局镜像配置,强制走默认源或你写的其他仓库。
快速检查方式:
- 进项目目录,运行
composer config repositories—— 有输出就说明它在起作用 - 运行
cat composer.json | grep -A 5 repositories,确认字段是否存在且格式合法 - 如果存在且你不需要私有源,直接删掉整个
"repositories": [...]块再试
特别注意:空数组 [] 和空对象 {} 都会触发屏蔽行为,不是“没写”才安全。
清缓存不能只靠 composer clear-cache
composer clear-cache 只清 ZIP 包和部分 dist 缓存,**不删镜像元数据缓存**。旧的 packages.json 还在本地,Composer 会继续按它算依赖,导致“明明镜像站已有新包,却提示 not found”。
必须手动删掉对应镜像的缓存子目录:
- 先查路径:
ls -d ~/.composer/cache/repo/https---mirrors.aliyun.com-composer - 再删除:
rm -rf ~/.composer/cache/repo/https---mirrors.aliyun.com-composer - 如果是腾讯云或网易源,把域名部分替换成
mirrors.tencent.com或mirrors.163.com
这个步骤漏掉,就算配置全对、用户也对、URL 也对,composer install 仍可能卡在 90% 或报找不到包。










