• Ukieweb

    佳的博客

    曾梦想仗剑天涯,后来工作忙没去。

GO MOD 中 go module 版本号定义与引用

在 GO 中 Module 的版本号,要遵守 v<major>.<minor>.<patch> 的格式(前面v不要忘记了,否则会按照 commit ID来引入)

1. 强烈建议方法

版本命名:v0.0.1 样式 (版本号 v0 v1

导入: go get git.xiewo.net/laojia/gos@v0.0.1

2. go.mod文件内的版本号

但我们会在 go.mod 文件中遇到如下几种依赖包引入情况:

  • 有的是 v1.7.3 标准版本号

  • 有的依赖包路径带有 v字眼

  • 有的是 v0.0.0-xxxx 的版本描述

  • 还有的版本号后带有 +incompatible 字眼

样式例如:

  • github.com/gorilla/mux v1.7.4  

  • github.com/go-redis/redis/v8 v8.0.0-beta.6

  • k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1

  • k8s.io/client-go v11.0.0+incompatible [实验导入失败,别碰它恶心人]


以上第一行是正常,我们就不说了

第二行 是因为 版本号大于1 了,这时候引入需要:

  1. module 名字 中要有  /v8 体现版本

第三行 可以直接通过 commit id 下载代码:

  1. 如果 v1.1.1 写成了 1.1.1,忘记开头的 v 了,那么也会用这种方式

  2. 下载样式 go get xxxx@commit id

第四种 是引入 不规范的包

    不规范指:Module名字未遵循Golang所推荐的风格,即Module名中不带版本信息,我们称这个Module为不规范的Module。


go mod tidy 和 go get 区别

go mod tidy:  只能引入 latest 版本

go get: 可以指定版本


replace 替换 require 中的版本

声明使用 1.1.1 版本,但实际使用的是 1.1.0 版本

go 1.13

require github.com/google/uuid v1.1.1  

replace github.com/google/uuid v1.1.1 => github.com/google/uuid v1.1.0



参考:

https://blog.csdn.net/u012190809/article/details/109773784

https://my.oschina.net/renhc/blog/3167195




0
0
下一篇:zabbix web前端页面 监测中 最新数据 历史记录时间轴的使用

0 条评论

老佳啊

85后,大专学历,中原人士,家里没矿。

由于年轻时长的比较帅气,导致在别人眼里,我一直不谈恋爱的原因是清高,实则是自己的小自卑。最大的人生目标就是找一个相知相爱相容的人,共度余生。

和人相处时如果能感受到真诚,会非常注重彼此的关系,对别人没有什么心机,即使有利益冲突,一般也会以和为贵,因为在这个世界上,物质的东西,从来不会吸引到我。

特别迷恋那些大山大水,如果现在还能隐居,可能早就去了。对那些宏伟的有底蕴的人文景观比较不感冒。

从事于IT行业,却一直对厨房念念不忘,由于身材魁梧,总觉得自己上辈子是个将军,可惜这辈子没当兵,也不会打架。