必须同时删除vendor和composer.lock再重装,因composer校验依赖lock文件中旧哈希值,仅换镜像不清除元数据会导致比对失败;需同步清缓存、切可信镜像、验证网络通断与环境正常。

必须同时删 vendor 和 composer.lock,再切镜像、清缓存、重装——只换镜像不清理元数据,95% 的情况仍会失败。
为什么换镜像后还报 “checksum verification failed”
Composer 不是“换源就自动重算校验和”。它读 composer.lock 里的 dist.sha256 值去比对新下载的 zip 包,而这个值是上一次(可能来自不同镜像)生成的。阿里云镜像若刚同步完一个包,但你的 composer.lock 里记的是腾讯云早前返回的哈希,必然不匹配。
常见错误操作包括:
- 只运行
composer config -g repo.packagist composer https://mirrors.huaweicloud.com/composer/就以为搞定 - 只执行
composer clear-cache,没动composer.lock - 删了
vendor却保留composer.lock,然后跑composer install
强制从备用镜像恢复的完整动作链
不是“换一个镜像”,而是“让 Composer 忘掉旧上下文,用新镜像从头建一套可信元数据”。步骤缺一不可:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(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 config -g repo.packagist composer https://mirrors.huaweicloud.com/composer/ - 清缓存:
composer clear-cache,确认输出含Clearing cache (all) - 删干净:
rm -rf vendor composer.lock(Windows 用rd /s /q vendor & del composer.lock) - 重装生成新锁:
composer install—— 此时所有dist.sha256都来自同一镜像同一时刻快照
怎么验证备用镜像真正在生效
别只信配置命令是否成功,要看实际网络请求是否落到目标域名:
- 加
-vvv跑一次composer install,搜日志里有没有Downloading https://mirrors.huaweicloud.com/composer/p/ - 手动测通断:
curl -I https://mirrors.huaweicloud.com/composer/packages.json,必须秒回HTTP/2 200 - 查当前生效源:
composer config repo.packagist(不带-g),输出应为华为云 URL;如果还是阿里云,说明被项目级配置覆盖了
备用镜像也失效时的兜底判断点
如果按上述流程做完仍失败,问题大概率不在镜像本身,而在环境层:
- 系统时间偏差超过 5 分钟会导致 HTTPS 证书校验失败,间接使下载中断或截断 —— 运行
date确认 - 企业代理或防火墙篡改响应体(尤其 gzip 压缩流),导致 zip 文件损坏 —— 临时关代理试
- PHP 缺失
openssl或zlib扩展,无法解压 dist 包,却表现为校验失败 —— 运行php -m | grep -E "(openssl|zlib)" - 磁盘满或权限不足,写入
vendor/时出错,残留半成品 —— 检查df -h和ls -ld vendor
真正麻烦的不是镜像慢,而是它返回了“看起来正常但哈希错”的包 —— 这种错误不会报网络超时,只会安静地卡在校验环节。所以每次换镜像,都得同步重置元数据和安装物,不能只换不删。










