golang中使用module管理版本(v2.x及以上的情况)

一直用golang写业务代码,最近改动升级项把common module的version升级的v2,结果尴尬了,于是查了下文档,随手记录下v2.x及以后得版本的使用方法。

golang中module的版本管理分路径和版本号两部分,路径是go.mod中开始module后面定义的, 而version是按照git tag获取的,两部分组合在一起决定了一个唯一的版本。

PS:上面描述的version只是go.mod中通用的描述,其他如果没有tag,或使用commit以及时间组成一个唯一识别符等其他的情况,可以去文档详细了解

v2以下(v0/v1)

$ cat go.mod
module example.com/hello

go 1.12

require (
    golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c  //没有tag时,直接引用的是最新一个commit
    rsc.io/quote v1.5.2
    rsc.io/sampler v1.3.0   //常规
)

v2.x及以上

区别于v1的版本,v2.x及以后得版本,都需要path和version匹配,及大版本需要在path中体现。

$ cat go.mod
module example.com/hello/v2 //如果要发布v2.x的版本,这里一定要加上v2

go 1.12

require (
  github.com/golang/mock v1.3.1
  github.com/micro/go-micro/v2 v2.3.0 //这里是v2.3.0的版本,path中必须有v2,没有的话会报错
)

PS: v2.x以上的其他版本都一样,path必须以大版本好结束,如github.com/micro/go-micro/v3 v3.0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值