管理子文件夹中的模块版本
Go 模块提供了一种方便的机制来管理 Go 项目中的依赖项。但是,当存储库包含多个 go.mod 文件(其中一个位于根目录中,另一个位于子文件夹中)时,模块版本的处理会变得更加复杂。
在您的特定场景中,您在更新库时遇到困难/api 升级到版本 1.3.3,同时从 github.com/hashicorp/vault 继承 go.mod 文件。这种冲突的产生是由于根模块与其子模块之间可能存在版本不一致的情况。
与预期相反,子模块的版本不一定与其父模块的版本同步。相反,它们应该被视为驻留在同一存储库结构中的独立模块。
要解决此问题,建议您参考官方 Vault 版本页面:https://github.com/hashicorp /金库/发布。此页面提供官方版本信息和标签。 Go 允许分层的 Git 标签来指示子模块版本。
例如,虽然Vault本身当前版本为1.3.3,但vault/api仍为版本1.0.4(基于api/v1的最新标签) .0.4)。要获取最新版本的Vault/API,您只需运行go get即可,无需在go.mod中显式指定版本。 go 工具会自动查找并检索最新版本。
以上是如何处理 Go Module 子文件夹中的模块版本冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!