如何解决当我的 go.sum 已经以这种方式检查过时,它的差异是什么?
我经常看到 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
。
如果您只有第二行而不是第一行,则意味着您的模块的依赖项满足 github.com/owner/pkg
版本 v0.0.0-abc
的版本要求,但到目前为止您所做的一切都没有真正关心对应的源代码。
通常,您应该会发现 go mod tidy
会根据需要添加或删除源代码的校验和。
但是,请注意(即将推出的)Go 1.16 之前的 go
命令版本有一个错误,其中它们有时还会为源代码保留不需要的校验和。 (有关详细信息,请参阅 https://golang.org/issue/33008。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。