美文网首页
go Module管理

go Module管理

作者: 岛在深海处 | 来源:发表于2019-04-04 15:45 被阅读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:

  • 运行 go get -u将会升级到最新的次要版本或者修订版本(比如说,将会从 1.0.0 版本,升级到——举个例子——1.0.1 版本,或者 1.1.0 版本,如果 1.1.0 版本存在的话)
  • 运行 go get -u=patch 将会升级到最新的修订版本(比如说,将会升级到 1.0.1 版本,但不会升级到 1.1.0 版本)
  • 运行 go get package@version 将会升级到指定的版本号(比如说,github.com/chenycu/testmod@v1.0.1
四、下载Module

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

set GOPROXY=https://goproxy.io

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

相关文章

  • GO语言学习之搭建环境

    1、下载Go:go语言中文网 2、开启Go module管理工具 GO111MODULE=off 禁用 go mo...

  • Go 包管理之module

    Go Module 使用 Go Module 是官方用来管理 package 依赖的工具, 1.11 新加的, 使...

  • golang(1) go module 依赖包管理

    go module go module 是Go1.11版本之后官方推出的版本管理工具。并且从Go1.13版本开始,...

  • Go module 扩展管理

    go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是...

  • go Module管理

    一、创建一个Module 1、新建模块文件夹(它的目录要在 GOPATH 之外,因为默认情况下,GOPATH 里面...

  • 24.依赖管理及go module

    Go语言的依赖管理随着版本的更迭正逐渐完善起来。 windows开启go module:set GO111MODU...

  • go mod管理项目

    go mod管理项目 准备环境 全局开启module管理# 自动 (推荐)# go命令行将会根据当前目录来决定是否...

  • Go Get 访问私有库配置

    go module是go语言官方的包管理方式,go get则是获取包的命令,通常,我们可以使用go get git...

  • go1.12下Go mod使用实践

    Go Module是Go会在1.12中正式推出的包管理机制。 Go mod 简介 Golang一直存在一个被人诟病...

  • 【朝花夕拾】Golang之Go Module工程实践

    一、背景 在引入Go Module管理之前,即在Go 版本在1.11之前,项目的框架结构主要是bin、pkg、sr...

网友评论

      本文标题:go Module管理

      本文链接:https://www.haomeiwen.com/subject/grafiqtx.html