在 Go 中,可以在单个存储库中跨多个模块组织代码。然而,这引发了关于有效构建目录和导入模块的最佳方法的问题。
一种方法涉及在根 go.mod 文件中使用替换指令指向模块的本地目录。虽然此方法有效,但它不提供版本信息,并且如果更新本地模块,可能会导致重现性问题。
对于可重现的构建,存在多个用于管理模块版本的选项:
go.work 文件允许跨多个模块进行本地开发。但是,它可以覆盖 go.mod 文件中指定的模块版本。了解使用 go.work 的含义并确保其与版本处理最佳实践保持一致至关重要。
组织存储库结构有不同的方法:
最佳方法取决于项目规模和复杂性。对于大型项目,建议使用基于提交或基于标签的版本控制以及使用 Go 工作区进行本地开发。对于较小的项目,替换指令可能就足够了。
以上是如何最好地管理单个存储库中的多个 Go 模块?的详细内容。更多信息请关注PHP中文网其他相关文章!