我们平时在Golang项目的编码过程中,除了经常通过import
使用官方提供的依赖包,也经常通过go get -u github.com/xxx/xxx
命令下载第三方包来使用。那么我们如何将自己封装的包开源发布出去,让所有人都可以像使用其他三方包一样使用我们的包呢?
首先在我们的 Github 上新建一个仓库,权限选择 Public(默认):
仓库创建成功后,我们得到仓库地址,通过git clone
命令或者Goland等IDE自带的工具将该项目拉到本地。
git clone https://github.com/korb1n/test-project.git
此时的项目是个空项目,选择使用Go mod的方式管理依赖包,对项目进行初始化:
go mod init github.com/korb1n/test-project
请注意构建的项目名为:github域名/用户名/项目名(仓库名)
进一步编写测试包的代码:
package utils
import (
"fmt"
"time"
)
func PrintNow() {
fmt.Println(time.Now())
}
在完成我们的代码编写后,即可上传Push到远程的Git仓库:
git add -A
git commit -m "add a function PrintNow"
git push
注意如果使用Goland等IDE集成的Git工具的话,操作比较方便,最好不要将.idea
相关的配置文件上传了,我们实际只需要纯净的项目代码文件,这些配置文件以后在拉取项目代码时也会根据对应的IDE生成。
Push成功后,刷新GitHub上的仓库,确认项目代码已经上传,点击tag
创建releases发布一个版本
输入版本号打上tag,完善描述信息后创建即完成发布:
在成功发布我们的代码包后,便可以像平时使用第三方包一样直接go get下载和 import 导入后使用了:
go get -u github.com/korb1n/test-project
package main
import "github.com/korb1n/test-project/utils"
func main() {
utils.PrintNow()
}
另外,其实我更习惯使用国内的Gitee,和Github差不多,主要是不存在网络方面的问题~