必须用curl -fsSL --max-time 3 -H "User-Agent: Composer/2.9.6" https://mirrors.ustc.edu.cn/composer/p2/monolog/monolog.json | jq -e 'has("packages")'验证元数据接口可用性,返回0才真实可用;仅测首页200或config输出URL均为假阳性,且clear-cache不清理元数据缓存目录,需手动删除~/.composer/cache/repo/https---mirrors-aliyun-com-composer并重拉。

镜像配置是否健康,不能只看 composer config -g repos.packagist.org 返回的 URL 是否存在,也不能只靠 curl https://mirrors.aliyun.com/composer/ 返回 200 —— 这类检查几乎总是“假阳性”,实际运行时仍会 fallback 到 packagist.org 或卡在 Loading from cache。
怎么验证镜像元数据接口真实可用
Composer 实际请求的是 /p2/vendor/package.json 这类路径,不是首页。必须用真实 UA 和具体包路径探测:
- 执行
curl -fsSL --max-time 3 -H "User-Agent: Composer/2.9.6" https://mirrors.ustc.edu.cn/composer/p2/monolog/monolog.json | jq -e 'has("packages")';返回 0 才算通过 - 若返回空 JSON、
jq: error或超时,说明镜像同步中断、元数据损坏,或被 UA 拦截(华为云等镜像会 403 非 Composer UA) - 别用
packagist.org的包名测试——有些镜像只同步热门包,monolog/monolog是较稳妥的选择
为什么 composer clear-cache 不解决“找不到包”问题
该命令只清 ~/.composer/cache/files/,不碰元数据缓存目录,而 composer show 查的是 ~/.composer/cache/repo/https---mirrors-aliyun-com-composer/packages.json 这个索引文件。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先确认当前镜像地址:
composer config -g repos.packagist.org | grep url - 生成缓存路径:用
echo $(composer config -g repos.packagist.org | grep url | awk -F'"' '{print $4}') | sed 's|/|-|g' | sed 's|-*$||'得到类似mirrors-aliyun-com-composer - 手动删整个缓存目录:
rm -rf ~/.composer/cache/repo/https---mirrors-aliyun-com-composer - 再跑
composer show monolog/monolog,强制重拉packages.json和具体包的p2/元数据
如何判断本地缓存是否已同步最新状态
即使镜像站本身已更新,你的 Composer 仍可能读着旧缓存。关键看两个时间戳:
- 查
packages.json修改时间:ls -lh ~/.composer/cache/repo/https---mirrors-aliyun-com-composer/packages.json - 对比镜像站公开的 last-modified 时间(如 USTC 镜像页底部显示 “Last updated: 2026-07-22T22:15:03Z”)
- 若本地文件时间早于镜像站更新时间,说明缓存未刷新,必须删目录重拉
-
composer install时加-vvv可看到它从哪个 URL 下载p2/文件,确认是否真走镜像而非 fallback
最常被忽略的是缓存路径和 UA 头——删错目录或没带 User-Agent,测出来的“健康”全是假象。

















