今天遇到个问题
依赖的模块相同版本 checksum 更新后,无论本地 go mod init & go mod vendor(不过我没提交本地的 vendor 文件夹),push 到 gitlab 上,CI 都会校验 checksum 出错
但 CI 上每次都是新下载的依赖,因此是本地的 checksum 出现了问题
具体原因好像是,go 的模块有 cache,然后是按版本来的。。。也就是相同版本都是一个 cache,无论你 checksum 是否有变化。
所以就导致模块那边更新了 checksum 但没更新 tag 的时候,本地的 checksum 由于拉的 cache 导致不更新。。
解决方法就是,在本地运行
go clean -modcache && go mod tidy
版权属于: Alan Clarke's Blog
原文地址: https://blog.xalanq.com/go-mod-checksum-not-match-ci/
转载时必须以链接形式注明原始出处及本声明。