高端网站建站,商城小程序定制公司,泉州免费网站制作,什么是网站建设技术问题描述
如题#xff0c;项目开发中遇到如下报错#xff08;你的报错信息可能与我的有一点区别#xff0c;如verifying的包名#xff0c;但是问题本质都是一样的#xff09;#xff1a;
verifying github.com/algorand/go-codec/codecv1.1.8/go.mod: checksum mismatc…问题描述
如题项目开发中遇到如下报错你的报错信息可能与我的有一点区别如verifying的包名但是问题本质都是一样的
verifying github.com/algorand/go-codec/codecv1.1.8/go.mod: checksum mismatchdownloaded: h1:YkEx5nmr/zuCeaDYOIhlDg92Lxju8tj2d2NrYqP7g7kgo.sum: h1:tQ3zAJ6ijTps6Vwp8KsGDnPC2uhHVC7ANyrtkIY0bASECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.For more information, see go help module-auth.问题原因
项目开发时使用go mod进行包管理而go mod对使用的包有缓存的机制并且会针对使用的包进行checksum校验方便区分不同的包版本go mod管理包的时候下载源可以自行设置goproxy国内开发者对于github上的一些包因为墙的原因下载速度较慢多数会采用第三方提供的代理地址进行下载而每个人使用第三方的代理地址又不一样第三方的下载的代码源也可能不同综上如果项目组中每个人使用的goproxy不一样容易出现这个问题或者只有你自己配置的一开始和其他人不一样即使后续修改成一样的这个时候还是会出现这个问题。
解决方法
如果你的goproxy配置和别人不一样别人没有这个问题的时候你需要先修改自己的goproxy和其他人保持一致
go env -w GOPROXY填写和他人一致的配置注如果采用goland等之类的编译器开发还需要注意是否在编译器的设置中进行了相关的设置我自己就是命令行修改不生效因为编译器中进行了额外的配置如果编译器进行设置也需要同步进行调整调整方式因编译不同修改也不同这里就不介绍了。 2. 完成上述修改后需要先删除项目的go.sum文件
rm -rf go.sum执行清理缓存的操作必须进行否则go mod还缓存着之前的数据
go clean -modcache完成上述所有操作后在项目目录下执行
go mod tidy至此就完成了checksum mismatch问题的解决这个时候你再对比自己的go.sum文件和组内其他人的就是一致的了如果是个人开发者后续执行go mod tidy也不会遇到checksum mismatch的问题如果还遇到可以按照上面的流程再检查下自己的配置。