2 回答

TA贡献1827条经验 获得超9个赞
无法在 中自动执行此操作。这实际上是设计使然:旨在让 go 命令在任何构建中确定性地选择一组版本。如果 go 命令始终选取依赖项的最新版本,则所选版本集将随时间而更改,而无需任何用户操作。如果其中一个依赖项始终选择其依赖项的最新版本,则可能会破坏您的构建,并且很难覆盖。go.mod
go.mod
go get example.com/mod
是保持最新状态的最佳方式。这需要手动完成,但如果您有大量依赖项,则可以使用 CI 中的脚本或操作自动执行它。

TA贡献1826条经验 获得超6个赞
只需运行 .go get <module>
go get
下载依赖项的最新版本,因为这就是它的作用,而不是因为在 中指定了 。latest
go.mod
有没有办法构建go.mod,以便始终使用最新版本的依赖项?
不,无论如何,您都不应该自己手动编辑指令的内容。此外,指令的语法定义为:go.mod
require
require
require module-path module-version
其中可以是实际的标记版本或伪版本,例如,当您需要特定提交时。module-version
从技术上讲,您可以编写指令,但是下次运行命令时,它将用实际的最新(伪)版本标记替换该单词。它不会留下来,否则你不会有确定性的依赖关系。latest
require
go
latest
latest
相关:如何将 go.mod 中的 Go 模块依赖关系指向存储库中的最新提交?
- 2 回答
- 0 关注
- 303 浏览
添加回答
举报