Golang开源发布自己的包

1.前言

我们平时在Golang项目的编码过程中,除了经常通过import使用官方提供的依赖包,也经常通过go get -u github.com/xxx/xxx命令下载第三方包来使用。那么我们如何将自己封装的包开源发布出去,让所有人都可以像使用其他三方包一样使用我们的包呢?

2.新建仓库

首先在我们的 Github 上新建一个仓库,权限选择 Public(默认):

Golang开源发布自己的包 - 图1

仓库创建成功后,我们得到仓库地址,通过git clone命令或者Goland等IDE自带的工具将该项目拉到本地。

  1. git clone https://github.com/china-li-shuo/shop_proto.git

3. 构建项目和代码

此时的项目是个空项目,选择使用Go mod的方式管理依赖包,对项目进行初始化:

  1. go mod init github.com/china-li-shuo/shop_proto

请注意构建的项目名为:github域名/用户名/项目名(仓库名)

自己去编写自己的开源包代码:

Golang开源发布自己的包 - 图2

Golang开源发布自己的包 - 图3

4.提交和发布代码

在完成我们的代码编写后,即可上传Push到远程的Git仓库:

  1. git add .
  2. git commit -m "描述"
  3. git push origin 自己分支名
  4. #创建tag
  5. git tag -a V0.0.1 -m 'shop_user_proto'
  6. #推送tag
  7. git push origin --tags

Golang开源发布自己的包 - 图4

Push成功后,刷新GitHub上的仓库,确认项目代码已经上传,点击tag创建releases发布一个版本!

Golang开源发布自己的包 - 图5

输入版本号打上tag,完善描述信息后创建即完成发布:

Golang开源发布自己的包 - 图6

5.引入和使用包

在成功发布我们的代码包后,便可以像平时使用第三方包一样直接go get下载和 import 导入后使用了:

  1. #直接下载包
  2. go get -u github.com/china-li-shuo/shop_proto
  3. #下载包可以指定relase版本
  4. go get -u github.com/china-li-shuo/shop_proto@V0.0.2
  1. //项目引入自己的包就行了
  2. package main
  3. user_pb import " github.com/china-li-shuo/shop_proto"
  4. func main() {
  5. user_pb.方法名()
  6. }

👏😄 另外,其实我更习惯使用国内的Gitee,和Github差不多,主要是不存在网络方面的问题~