发布 Go 模块:从整理依赖、创建标签到代理收录

如果希望其他开发者能够使用你的模块,就需要发布它,让 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. 将新标签推送到 origin 仓库。

    $ git push origin v0.1.0
    
  6. 运行 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
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容