发布模块
当您想让其他开发者使用您的模块时,您需要发布它,使其对 Go 工具可见。模块发布后,导入其包的开发者将能够通过运行 go get
等命令来解析对该模块的依赖。
注意: 发布模块后,请勿更改已标记的版本。对于使用该模块的开发者,Go 工具会根据首次下载的副本对下载的模块进行验证。如果两者不同,Go 工具将返回安全错误。请勿更改已发布版本的代码,而是发布新版本。
另请参阅
- 有关模块开发的概述,请参阅开发和发布模块
- 有关高级模块开发工作流程(包括发布)的信息,请参阅模块发布和版本控制工作流程。
发布步骤
使用以下步骤发布模块。
-
打开命令提示符,并将当前目录更改为本地仓库中模块的根目录。
-
运行
go mod tidy
,这会删除模块可能已累积但不再需要的任何依赖项。$ go mod tidy
-
最后一次运行
go test ./...
以确保一切正常。这将运行您编写的用于 Go 测试框架的单元测试。
$ go test ./... ok example.com/mymodule 0.015s
-
使用
git tag
命令为项目标记新版本号。对于版本号,请使用一个向用户表明此版本中更改性质的数字。有关更多信息,请参阅模块版本编号。
$ git commit -m "mymodule: changes for v0.1.0" $ git tag v0.1.0
-
将新标签推送到原始仓库。
$ git push origin v0.1.0
-
通过运行
go list
命令使模块可用,以提示 Go 使用您正在发布的模块的信息更新其模块索引。在命令之前加上一条语句,将
GOPROXY
环境变量设置为 Go 代理。这将确保您的请求到达代理。$ GOPROXY=proxy.golang.org go list -m example.com/mymodule@v0.1.0
对您的模块感兴趣的开发者会从其中导入一个包,然后运行go get
命令,就像他们使用任何其他模块一样。他们可以运行go get
命令获取最新版本,也可以指定特定版本,如下例所示
$ go get example.com/mymodule@v0.1.0