登录
首页 >  Golang >  Go问答

升级主版本到 v2 并自动获取最新版本的方法

来源:stackoverflow

时间:2024-03-28 18:27:30 469浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《升级主版本到 v2 并自动获取最新版本的方法》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我在将主要版本从 v1.x.x 升级到 v2.0.0 时遇到问题。

我创建了一个新的 git 标签 v2.0.0 和一个新的子文件夹 /v2/,将 go.mod 文件放入其中并相应地更改了模块名称。

我的模块包含几个子包,现在我无法导入它们 - 即使是那些没有对其进行更改的子包。

例如,我无法导入 /v2/mypkg/ - 我收到 module found but does not contains package 错误。如前所述,此文件夹仅包含 go.mod 文件。 我无法弄清楚 - 如果没有对 mypkg 进行任何更改 - 是否希望我制作该包的另一个副本(?!),以便 mypkg/v2/mypkg/ 中都存在相同的代码

我尝试在常见的 Go 存储库中在线查找示例,看起来像:

  • 所有使用 go-mod 的存储库均低于 v2
  • v2 以上的存储库与 go-mod 并非 100% 兼容

我可以通过使用 +inknown 导入我的包来解决这个问题,然后创建一个 git 标签就足够了(无需创建 /v2)。但是,如果我在没有严格要求 v2.0.0 的情况下导入包,默认情况下我会得到最新的 v1.x.x,这并不是真正的最新版本,这对我来说是有问题的。

我能做什么?


解决方案


将版本更新为 v2 时,还需要更新引用该版本的 import 语句,以在模块路径上使用 /v2 后缀。

如果没有该后缀,导入将引用原始 v1 模块中的包。 (如果您有意在两个主要版本之间提供兼容性填充程序,这可能很有用。)

请参阅 Developing a major version update 了解更多详情..

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《升级主版本到 v2 并自动获取最新版本的方法》文章吧,也可关注golang学习网公众号了解相关技术文章。

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