在使用go mod的过程中,发现不容易指定版本号
尤其是没有打tag的,不知道怎么指定版本号, 不知道有哪版本号
正常使用都没有问题,但是当引用的项目用了旧的代码, 这时候必须使用旧的版本,无法指定版本,不知道如何入手
尤其是k8s.io不知道是什么鬼, 从哪里看它的代码,只知道github.com
这个时候在 go.mod文件中 require 里面加上  github.com/kubernetes/cloud-provider 2bf8e45
此时会自动生成版本号, 其中 2bf8e45 这个是在github上找到源码的特定的提交 commit 号, 想使用旧版本的话, 找到对应的tag或分支 找到 commit 号
这个commit号也可以使用tag号来替换

例如 k8s.io/cli-runtime => github.com/kubernetes/cli-runtime kubernetes-1.14.2

然后使用replace来替换,require里面的 github.com/kubernetes/cloud-provider 2bf8e45 会自动变成 
github.com/kubernetes/cloud-provider v0.0.0-20190516232619-2bf8e45c8454
此时,我们把它删除并复制到replace 里面

k8s.io/apiserver => github.com/kubernetes/apiserver v0.0.0-20190516230822-f89599b3f645
k8s.io/cloud-provider => github.com/kubernetes/cloud-provider v0.0.0-20190516232619-2bf8e45c8454
sigs.k8s.io/yaml => github.com/kubernetes-sigs/yaml v1.1.0

 

效果这样的

 

 

原来使用的新版本号不用动,主要换了replace

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐