如果希望其他开发者能够使用你的模块,就需要发布它,让 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 -
将新标签推送到
origin仓库。$ 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
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END












暂无评论内容