Go语言解决go get失败的问题


文章目录


由于墙的原因,GitHub下载最近失败的非常频繁,而且由于go的一些库在官网,下载也经常失败,我们之前的想法是通过gitee将相应的包fork到gitee上,然后修改go get的地址即可,但是一旦需要下载的问题较多的时候这样就有问题了,而且部分包是会不断更新的,所以重新找了其它方法,然后发现了通过设置代理的方式进行go get,目前代理还是蛮多的,但是我看大部分是使用的:https://goproxy.io/zh/

上面也有完整的教程:

1、临时设置

Bash (Linux or macOS)

# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
export GOPRIVATE=git.mycompany.com,github.com/my/private

PowerShell (Windows)

# 配置 GOPROXY 环境变量
$env:GOPROXY = "https://goproxy.io,direct"
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
$env:GOPRIVATE = "git.mycompany.com,github.com/my/private"

设置完上面几个环境变量后,您的 ​​go​​​ 命令将从公共代理镜像中快速拉取您所需的依赖代码了。或者,还可以根据​​文档​​​进行设置使其长期生效。如果您使用的是老版本的 Go(< 1.13), 我们建议您​​升级为最新稳定版本​​。

2、长久生效

上面的配置步骤只会当次终端内生效,如何长久生效呢,这样就不用每次都去配置环境变量了。

Mac/Linux

# 设置你的 bash 环境变量
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.profile && source ~/.profile

# 如果你的终端是 zsh,使用以下命令
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.zshrc && source

Windows

1. 右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2. 在 “[你的用户名]的用户变量” 中点击 ”新建“ 按钮
3. 在 “变量名” 输入框并新增 “GOPROXY”
4. 在对应的 “变量值” 输入框中新增 “https://goproxy.io,direct”
5. 最后点击 “确定” 按钮保存设置

具体通过这里:https://goproxy.io/zh/docs/introduction.html

3、其他代理

可以看看这里:https://learnku.com/go/wikis/38122

目前的:

七牛:Goproxy 中国 https://goproxy.cn
阿里: mirrors.aliyun.com/goproxy/
官方: < 全球 CDN 加速 https://goproxy.io/>
其他:jfrog 维护 https://gocenter.io