go get拉取常见问题

问题1.出现错误信息: module declares its path as: url1*** but was required as: url2***

出现该错误信息,如果 url1*** 和 url2*** 不一样:
在这里插入图片描述
如上图所示:一般是你要拉取的包的go.mod文件的module后面跟的模块名称或者路径名称在你初始化的时候不正确。
修改方法:
将你要拉取的库的 go.mod 的 module 的值修改成“***but was required as:***”后面的值。

问题2. 出现该错误信息:*** is not in GOROOT ***

在这里插入图片描述
如上图所示,则需检查你拉取的库的内部是否有 import 包错误,造成该错误的原因,可能是修改 问题1 中的 go.mod的module后面的路径名导致。

解决办法:
修改拉取库的内部import错误的地方

问题3.出现错误信息:dial tcp *******:443: i/o timeout

出现该错误信息原因是,你拉取的库可能是私有库导致的。因为Go 1.13设置了默认的 GOSUMDB=sum.golang.org,
GOSUMDB 的全称为 Go CheckSum Database,用来下载的包的安全性校验问题。包的安全性在使用 GoProxy 之后更容易出现,比如我们引用了一个不安全的 GoProxy 之后然后下载了一个不安全的包,这个时候就出现了安全性问题。

解决办法:
1、关闭哈希校验,可以将 GOSUMDB 设置为 off

go env -w GOSUMDB=off

2、使用 GOPRIVATE 设置私跳过有库,私有仓库自动忽略验证
下面是一个 GOPRIVATE 的示例:

  go env -w  GOPRIVATE=*.corp.example.com,rsc.io/private

上面的 GOPRIVATE 表示以 *.http://corp.example.com 或者 http://rsc.io/private 开头的 package 都是私有的。

环境变量:

  • GOPROXY— 模块代理 URL
    列表。该go命令将尝试按顺序从每个服务器下载模块。关键字direct指示go命令从开发模块的版本控制存储库下载模块,而不是使用代理。
  • GOPRIVATE— 应该被视为私有的模块路径前缀的 glob 模式列表。作为一个默认值GONOPROXY和GONOSUMDB。
  • GONOPROXY— 不应从代理下载的模块路径前缀的 glob
    模式列表。该go命令将从开发它们的版本控制存储库下载匹配的模块,无论GOPROXY.
  • GONOSUMDB— 不应使用公共校验和数据库sum.golang.org检查的模块路径前缀的 glob 模式列表 。
  • GOINSECURE — 可通过 HTTP 和其他不安全协议检索的模块路径前缀的 glob 模式列表。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值