发布一个模块

本文翻译自《Publishing a module》。

当你想让一个模块可供其他开发人员使用时,你可以发布它,以便Go工具可以看到它。发布模块后,导入其包的开发人员将能够通过运行go get等命令来解析对模块的依赖关系。

注意:发布后不要更改模块的已加标签的版本。对于使用该模块的开发人员,Go工具会根据第一个下载的副本对下载的模块进行身份验证。如果两者不同,Go工具将返回安全错误。不要更改以前发布版本的代码,而是发布一个新版本。

另请参阅

发布步骤

使用以下步骤发布模块。

1 打开命令提示符并切换到本地存储库中的模块的根目录。

2 运行go mod tidy,它会删除模块可能积累的任何不再需要的依赖项。

$ go mod tidy

3 最后一次运行go test ./...以确保一切正常。

这会运行你使用Go测试框架编写的单元测试。

$ go test ./...
ok      example.com/mymodule       0.015s

4 使用git tag命令给项目打新版本号标签。

对于版本号,请使用一个向用户表明此版本中更改性质的数字。有关更多信息,请参阅模块版本编号

$ git commit -m "mymodule: changes for v0.1.0"
$ git tag v0.1.0

5 将新标签推送到源存储库。

$ git push origin v0.1.0

6 通过运行go list命令使模块可用,以提示Go使用有关你正在发布的模块的信息更新其模块索引。

在命令前面加上将GOPROXY环境变量设置为Go代理的语句。这将确保你的请求到达代理。

$ GOPROXY=proxy.golang.org go list -m example.com/[email protected]

对你的模块感兴趣的开发人员从中导入一个包并运行go get命令,就像他们对任何其他模块一样。他们可以针对最新版本运行go get命令,也可以指定特定版本,如下例所示:

$ go get example.com/[email protected]

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注