登录
首页 >  Golang >  Go问答

确保 go build 不会更新 go.mod 中的版本

来源:stackoverflow

时间:2024-03-19 11:45:30 420浏览 收藏

从 Go 1.16 开始,在使用 `go build` 等命令时,Go 模块不再自动更新版本。这意味着在导入具有最新标签(例如 v1.4)的项目时,`go build` 不会自动更新 `go.mod` 中的版本,从而允许开发者使用其他分支(例如 master 分支)。这有助于防止意外更新,并使开发者能够更轻松地使用特定分支。

问题内容

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

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

module github.com/myid/mymod

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

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

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

我验证哈希值与 master 相同

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

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

谢谢


解决方案


对任何遇到这个问题的人的死灵答案:

从 go 开始,使用 go build(等)时,1.16 模块不再自动碰撞

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

今天关于《确保 go build 不会更新 go.mod 中的版本》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>