模块:如何强制依赖库的版本

时间:2019-12-18 04:37:42

标签: go go-modules

整体go模块的工作方式与文档中说的一样。但是,在一种情况下,从属库的最新标签是v1.3.0,可通过mod tidy查找。但是我需要v1.1.0。无论我做什么(手动编辑go.mod,转到get -u),“ go build”都只是将版本还原回v1.3.0,这破坏了构建。确实,模块的重点在于设置依赖关系:那又如何呢? Go get应该永久设置它,但它不会保持不变。使用go1.13.5

1 个答案:

答案 0 :(得分:4)

  

无论我做什么(手动编辑go.mod,转到get -u)...

go.mod文件中修改依赖项的版本之后,您需要执行go mod tidy命令(根据您的解释,我认为您还没有这样做)。

示例:

# modify the dependency version on go.mod, then
go mod tidy

如果使用供应商,则还需要运行go mod vendor命令来更新vendor/文件夹中下载的依赖项。

# modify the dependency version on go.mod, then
go mod tidy
go mod vendor