go Module管理

2019-04-04  本文已影响0人  岛在深海处
一、创建一个Module

1、新建模块文件夹(它的目录要在 GOPATH 之外,因为默认情况下,GOPATH 里面是禁用 modules 支持的)

$ mkdir testmod
$ cd testmod

2、现在还只是一个文件夹,如果要变成module,就需要初始化(上传到github对外给他人使用的话,需要使用此默认格式:github.com/github昵称/module名)

$ go mod init github.com/chenycu/testmod
  1. 初始化git项目,并在github上新建repositories,本地仓库添加远程地址
git init
git add *
git commit -m "first commit"
git remote add origin https://github.com/chenycu/testmod.git
git push -u origin master

现在任何想用这个包的人都可以通过go get命令获取,在自己的module目录下执行如下命令

go get github.com/chenycu/testmod

获取到的Module源码在GOPATH/pkg/mod/目录下

二、发布版本控制

版本号格式为v主要版本.次要版本.修订版本 例如:v1.0.0
设置版本号我们使用git tag命令
考虑到兼容性,module的每一个主要版本我们最好新建一个分支来存放

$ git checkout -b v1
$ git push -u origin v1
$ git tag v1.0.0
$ git push --tags

这样我们在master分支中修改代码不会影响到主要版本,master中的问题修改完毕后,合并到v1分支,设置tag为v1.0.1重新push到v1远程分支后生效。

如果需要更新主要版本,最好的做法是,再新建一个分支v2,设置tag为v2.0.0提交。

三、更新Module

我们可以在自己的Module目录下 使用go get 来更新 module:

四、下载Module

由于被墙的关系,下载module比较麻烦,但是go 1.12后有一个环境变量GOPROXY,我们可以直接在module目录下执行如下命令设置GOPROXY

set GOPROXY=https://goproxy.io

设完就可以下载被墙的包了。

上一篇下一篇

猜你喜欢

热点阅读