go get报错解决办法:go.mod at revision v0.0.0: unknown revision v0.0.0

go get报错解决办法:go.mod at revision v0.0.0: unknown revision v0.0.0


一、现象描述

使用go get给项目添加依赖的时候,报错出现go.mod at revision v0.0.0: unknown revision v0.0.0

二、问题排查

看了一下go.mod,里边确实有个依赖声明的版本是v0.0.0,查阅后得知这样声明没有问题,所以排除项目本身的问题,将问题定位到go库或者go env配置的问题。最后排除了cache的问题,发现是GOPROXXY环境变量设置导致的。

1、cache

在使用go get添加其他的依赖比如gin官方的依赖,仍然报告上一个v0.0.0的依赖的错误,所以怀疑是cache的问题。在网上查到以下解决方案:

删除文件夹 ($GOPATH)/pkg/mod/cache
执行 go mod why

($GOPATH)/pkg/mod/cache这个目录存储了Go模块下载的源代码缓存,删除后,Go在下次需要依赖时会重新下载。这样可以解决缓存的代码文件损坏或不完整依赖的版本标签在仓库中被移除网络问题比如代理设置或防火墙规则变化这三个问题。

go mod why命令用于显示一个模块为何是项目中的依赖。Go会重新解析整个模块依赖树,对缺失或过期模块重新下载,如果在解析过程中发现依赖不完整或有误,会尝试修复这些问题。

执行后发现问题依然存在,但解决了执行go get时会报别的依赖的错误的问题。

2、GOPROXY

这才是本次问题的原因所在,GOPROXY设置失败导致go的解析出现问题。应该配置为:

go env -w GOPROXY=https://goproxy.cn

再次执行go run main.go,问题解决。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值