为什么个别模块版本有时需要 2 行go.sum?
v0.1.1在下面的示例中)/go.mod到版本上(v0.1.1/go/mod在下面的示例中)。例如:
github.com/foo/bar v0.1.1 h1:kDgnGXZpvZUi7ym6Rm23yVn3gRqBag+vU6M/wytZR9c=
github.com/foo/bar v0.1.1/go.mod h1:MZcarCLffCxoj/EF1yhRb4HvOSmCkm5Z8FPmzWrMG+g=
Run Code Online (Sandbox Code Playgroud)
我问的原因是因为有时当我go get打包时,仅使用上面示例中的第二行就会生成间接依赖项,然后该 package@version 的go.sum构建将失败。410 gone但是,如果我手动go get间接依赖,构建将不再失败并显示410 gone.
我相信这只发生在私有存储库中,所以我知道它不能与 sum.golang.org 很好地配合。然而,我想弄清楚是否可以首先避免获得 410,特别是在自动模块更新等方面。
该条目包含隔离文件v0.1.1/go.mod的校验和。go.mod这是为了确保每次加载或更改依赖项时的一致性所必需的。
该v0.1.1条目(不带后缀)包含模块完整源代码的校验和,包括其中包的/go.mod所有源文件。.go
这两部分是单独下载的,因此您不需要下载您不打算构建或测试的依赖项的完整源代码(对于具有临时贡献者的项目来说这是相当常见的情况)。但由于该go命令单独下载它们,因此需要单独的校验和。