“checksum mismatch”错误必须连删vendor和composer.lock,因校验失败源于composer.lock中过期的dist.sha256与实际包内容脱节,仅删vendor无效;需先清缓存、切回官方源,再执行composer install生成全新锁文件。

“Checksum mismatch”错误必须连删 vendor 和 composer.lock
报错里出现 The checksum verification failed、sha256 does not match 或 hash verification failed,说明 Composer 正在拿 composer.lock 里硬编码的 dist.sha256 值,去比对刚下载下来的 zip 包——两者对不上,它就直接拒绝解压。这不是缓存脏了、也不是网络断了,是锁文件和实际包内容已脱节。
只删 vendor 目录没用:下次 composer install 还会照着旧 composer.lock 去校验新包,必然再失败。
- Linux/macOS 执行:
rm -rf vendor composer.lock - Windows 执行:
rd /s /q vendor & del composer.lock(注意是&,不是&&) - 删之前建议先备份:
cp composer.lock composer.lock.bak
删完必须切回官方源重装,别急着换镜像
很多人删完立刻换阿里云镜像再跑 composer install,结果还是错——因为镜像可能还没同步最新 packages.json,或者你本地配置的镜像键名已过时(Composer 2.5+ 要求用 repos.packagist.org,不是 repo.packagist)。
正确做法是先回归可信起点:
- 清全局镜像:
composer config -g --unset repos.packagist.org(或显式设为https://packagist.org) - 清缓存:
composer clear-cache(确认输出含Clearing cache (all)) - 再跑
composer install:此时会从 packagist.org 拉取完整元数据,生成全新composer.lock,所有dist.sha256都来自同一快照
确认镜像是否真生效,别被 config 命令骗了
运行过 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 不代表请求就走镜像——项目级 repositories 配置会覆盖全局,TLS 握手失败也会静默 fallback 到官方源。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(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,输出应为{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}(注意末尾斜杠) - 查项目级覆盖:
composer config repositories,若返回非空且含"type": "vcs",镜像已失效 - 手动测通断:
curl -I https://mirrors.aliyun.com/composer/packages.json,必须秒回HTTP/2 200;卡住或返回 HTML 说明镜像不可用
Content-Length mismatch 是另一回事,别混着修
如果报错是 Content-Length mismatch 或 received X bytes out of the expected Y,那问题不在 composer.lock,而在本地缓存里存了一个半截的 zip 文件。它发生在下载过程中,和校验阶段无关。
这种错不用动 composer.lock:
- 先执行
composer clear-cache,并手动检查$(composer config cache-dir)/files/下是否还有残留.zip - 再换镜像源:
composer config -g repos.packagist.org '{"type":"composer","url":"https://mirrors.aliyun.com/composer/"}' - 加
--no-cache强制跳过所有缓存:composer install --no-cache
哈希不一致的本质是「锁文件过期」,不是「包下坏了」;修复的关键是让 Composer 放弃旧上下文,重新拉取元数据快照——任何跳过这一步的操作,都是在给下次失败埋雷。










