当我的 go.sum 已经以这种方式检查过时,这个差异是什么?
What is this diff in my go.sum when it has already been checked in this way?
我经常看到 go.sum 变化与此差异:
+github.com/owner/pkg v0.0.0-abc h1:$hash
github.com/owner/pkg v0.0.0-abc/go.mod h1:$hash
这是什么?当模块最初被列为依赖项时,为什么第一行没有成为提交的一部分?它一直在发生,我什至不确定它是什么?
第一行给出模块 github.com/owner/pkg
的 完整源代码 的校验和,版本 v0.0.0-abc
。
第二行仅给出 go.mod
文件的校验和 模块 github.com/owner/pkg
在版本 v0.0.0-abc
.
如果你只有第二行而不是第一行,这意味着你的模块的依赖项在版本 v0.0.0-abc
满足 github.com/owner/pkg
的版本要求,但到目前为止你所做的一切实际上都不在乎关于相应的源代码。
一般来说,您应该会发现 go mod tidy
根据需要添加或删除源代码的校验和。
但是,请注意(即将发布的)Go 1.16 之前的 go
命令版本有一个错误,有时它们还会为源代码保留不需要的校验和。 (有关详细信息,请参阅 https://golang.org/issue/33008。)
我经常看到 go.sum 变化与此差异:
+github.com/owner/pkg v0.0.0-abc h1:$hash
github.com/owner/pkg v0.0.0-abc/go.mod h1:$hash
这是什么?当模块最初被列为依赖项时,为什么第一行没有成为提交的一部分?它一直在发生,我什至不确定它是什么?
第一行给出模块 github.com/owner/pkg
的 完整源代码 的校验和,版本 v0.0.0-abc
。
第二行仅给出 go.mod
文件的校验和 模块 github.com/owner/pkg
在版本 v0.0.0-abc
.
如果你只有第二行而不是第一行,这意味着你的模块的依赖项在版本 v0.0.0-abc
满足 github.com/owner/pkg
的版本要求,但到目前为止你所做的一切实际上都不在乎关于相应的源代码。
一般来说,您应该会发现 go mod tidy
根据需要添加或删除源代码的校验和。
但是,请注意(即将发布的)Go 1.16 之前的 go
命令版本有一个错误,有时它们还会为源代码保留不需要的校验和。 (有关详细信息,请参阅 https://golang.org/issue/33008。)