唯一真正修复 checksum verification failed 的做法是删除 vendor 和 composer.lock 后重新运行 composer install;因为仅清缓存或只删 vendor 仍会复用 composer.lock 中已失效的旧校验和,导致校验失败。

直接删 vendor 和 composer.lock 再跑 composer install,才是唯一真正修复 checksum verification failed 的做法。 其他操作——比如只清缓存、只删 vendor、改配置跳过校验——要么无效,要么掩盖问题,甚至引入新风险。
为什么只删 vendor 不行
因为 composer install 会严格按 composer.lock 里的 dist.sha256 值去校验刚下载的包。如果 lock 文件里存的是旧版 tag 的 hash(比如作者重推了 v2.3.0),而你只删了 vendor,重装时仍拿错值去比对新文件,必然失败。
-
composer clear-cache只删~/.composer/cache/files/下的压缩包,composer.lock里的错误 hash 完全不受影响 -
rm -rf vendor后执行composer install,依然读 lock 文件 → 依然用旧 hash 校验 → 依然报错 - Windows 用户注意:
rd /s /q vendor & del composer.lock要一起执行,缺一不可
怎么确认是镜像源同步延迟
国内镜像(阿里云、腾讯云)通常有 10–30 分钟同步延迟,尤其对新发版或 dev- 分支。不能靠“换镜像”蒙混过关,得验证。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 先切回官方源:
composer config -g --unset repos.packagist,再composer config -g repo.packagist composer https://packagist.org - 接着
composer clear-cache && composer install:如果成功,基本就是镜像没跟上 - 别立刻切回原镜像;等 30 分钟,或换华为云等已知同步更快的源
- 检查是否被私有仓库干扰:
composer config repositories查真实生效源,type: vcs配置会覆盖镜像行为
哪些操作只是绕过,不是修复
临时禁用校验能让你跑通命令,但根本问题还在,且 Composer 2.2+ 已明确弃用相关机制。
-
COMPOSER_DISABLE_CHECKSUM_VERIFY=1 composer install:已标记为deprecated,未来版本会移除 -
composer config -g secure-http false:不仅跳过 checksum,还允许不安全的 HTTP 源,风险极高 -
--no-verify-checksums或--ignore-platform-reqs:这些参数根本不影响 checksum 校验逻辑,对checksum verification failed无效 - 手动编辑
composer.lock改 hash:极危险,可能引入不一致依赖,vendor 目录内容和 lock 记录彻底脱钩
容易被忽略的底层干扰点
真正难排查的 case 往往不在 Composer 本身,而在环境层。
- 系统时间偏差 > 3 分钟:会导致 HTTPS 证书验证失败,间接造成下载截断 → 文件不完整 → hash 必败
- 企业代理或防火墙:某些中间设备会重写响应体(如注入脚本、压缩 HTML),哪怕只动一个字节,hash 就对不上
- PHP OpenSSL 扩展异常或
hash扩展未启用:会影响本地校验计算,导致“预期值”和“算出值”不一致 - Git 自动转换换行符(
core.autocrlf)、IDE 自动格式化 vendor 代码:会让实际解压内容和原始 dist 包不一致,lock 文件里的 hash 就失效了

















