登录
首页 >  Golang >  Go问答

有什么区别在于`go get`和`go get -u`?

来源:stackoverflow

时间:2024-02-19 21:45:24 272浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《有什么区别在于`go get`和`go get -u`?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

在 go mod 中,go get ...go get -u ... 命令有什么区别?


解决方案


您可以使用 -u 将依赖项更新到最新的可用次要版本和补丁版本。因此,如果您的模块使用包 foo.com/bar,则运行 go get -u foo.com/bar 不仅会将 foo.com/bar 更新到最新的 MINOR.PATCH,还会更新其依赖项。

Go 模块遵循 semver:MAJOR.MINOR.PATCH

MINOR 和 PATCH 中的更改永远不会破坏用户,因此它们可以“安全”地自动更新。也就是说,保守方法(没有 -u)不会更新它们,并且在某些情况下是合适的。

来自 modules wiki 的有趣引用:

一个常见的错误是认为 go get -u foo 仅获取最新版本 foo 的版本。实际上,go get -u foo 中的 -u 或 go get -u foo@latest 意味着还可以获得所有直接的最新版本 以及 foo 的间接依赖关系。一个共同的起点,当 升级 foo 是执行 go get foo 或 go get foo@latest 而无需 a -u (一切正常后,考虑 go get -u=patch foo, go get -u=patch、go get -u foo 或 go get -u)。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《有什么区别在于`go get`和`go get -u`?》文章吧,也可关注golang学习网公众号了解相关技术文章。

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