Go 模块:校验和不匹配

我最近开始在 Go 中使用模块,但我经常遇到这样的问题,即在一台机器上一切正常,但在另一台机器上构建代码库时遇到校验和不匹配。


该问题始终涉及相同的第三方依赖项 (github.com/ericlagergren/decimal):


go: verifying github.com/ericlagergren/decimal@v0.0.0-20181231230500-73749d4874d5: checksum mismatch

    downloaded: h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE=

    go.sum:     h1:x4oNpFLLl+8l+iLgksNHzZewTS0SKp6m0hlLwzXRbqA=

我尝试了各种方法:删除和重新生成go.sum,将 Go 本身升级到最新的补丁版本并从中删除依赖项,go.mod但似乎没有任何方法可以解决此问题。


有谁知道如何解决这个问题?


红糖糍粑
浏览 180回答 4
4回答

qq_笑_17

您可以运行go clean -modcache,然后go mod tidy它将使用正确的校验和重新下载所有 dep(这会更新 中的 pkg 缓存$GOPATH/pkg/mod/)。要更新vendor/文件夹运行:go mod vendor.

精慕HU

删除 go.sum : rm go.sum重新生成 go.sum : go mod tidy

慕仙森

您使用的是哪个版本的 Go?您很有可能遇到以下情况的后果1.11.2 -> 1.11.4:https://github.com/golang/go/issues/27093https://github.com/golang/go/issues/27925https://github.com/golang/go/issues/29278这仍然没有完全解决。请记住,它go mod仍在开发中,所以这样的事情可能会在 1.13 之前发生。请务必阅读 Go 的次要版本,以及这些事情是如何发生的: https: //github.com/golang/go/wiki/MinorReleasesTL;DR - 升级去

湖上湖

我遇到过同样的问题。我更新了 go 版本并从 go.mod 中删除了导入并从 go.sum 中删除了所有条目并运行 go mo tidy,它下载了所有依赖项而没有任何问题。

哈士奇WWW

我在使用 1.12.8 时遇到了同样的问题,并且缓存清理没有帮助。结果我仍然被困在 GOPATH 和 Mod 世界的中间。发现了一个标志,它对我有用。go run -mod=vendor main.go
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go