【问题标题】:Prevent go build from overwriting version in go.mod防止 go build 覆盖 go.mod 中的版本
【发布时间】:2019-07-07 13:07:33
【问题描述】:

我有一个导入项目 foo 的 go 模块。 foo 的最新标签是 v1.4

当我在我的项目中执行 go build 时,它会更新 go.mod 来表示

module github.com/myid/mymod

require (
   github.com/myid/foo v1.4
)

我希望它使用主分支而不是 v1.4 标记...所以我做了一个 go get github.com/myid/foo@master 并在 pkg 中下载了 master 分支并更新了 go.mod 以说

require (
    github.com/myid/foo v1-XXXXXXX-XXXXXXX
)

我验证哈希与master相同

但是当我再次go build 时,它会更新回最新的标签。

如何让它使用 master 分支而不切换回 v1.4?

谢谢

【问题讨论】:

标签: go module dependencies


【解决方案1】:

go 命令自动将非规范 semantic versions 解析为规范版本或 pseudo-versions

v1.4 不是规范语义版本。

【讨论】:

    【解决方案2】:

    对于遇到此问题的任何人的 Necro 答案:

    在使用 go build(等等)时,1.16 模块不再自动碰撞。

    见:https://golang.org/doc/go1.16#go-command

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-28
      • 2019-11-05
      • 2016-10-12
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      相关资源
      最近更新 更多