应该如何使用“go get”管理包版本?|Go主题月

374 阅读1分钟

Go工具链有一个内置系统,用于管理相关包的版本集,称为模块。模块是在 Go 1.11 中引入的,并从 1.14 开始投入生产使用。

要使用模块创建一个项目,请运行 go mod init。这个命令会创建一个 go.mod 文件,用来跟踪依赖版本。

go mod init example.com/project

要添加、升级或降级依赖关系,请运行 go get

go get golang.org/x/text@v0.3.5

参见教程:创建模块以获得更多关于入门的信息。

请参阅开发模块以获取关于如何使用模块管理依赖关系的指南。

模块中的包在发展过程中应该保持向后兼容性,遵循导入兼容性规则

如果一个旧包和一个新包的导入路径相同。
新包必须与旧包向后兼容。

Go 1的兼容性指南在这里是一个很好的参考:不要删除导出的名称,鼓励使用标记的复合字元,等等。如果需要不同的功能,添加一个新的名字,而不是改变一个旧的名字。

模块用语义版本化和语义导入版本化来编纂。如果需要中断兼容性,则在新的主要版本发布模块。主版本2及以上的模块需要一个主版本后缀作为其路径的一部分(比如/v2)。这就保留了导入兼容性规则:一个模块的不同主要版本的包有不同的路径。

golang外文翻译计划golang.org/doc/faq#get…