写点什么

1.4 Go 语言从入门到精通:Go 代理 goproxy

用户头像
xcbeyond
关注
发布于: 2021 年 04 月 01 日

在逐步编写 Go 程序时,会涉及使用到第三方提供的 Go 依赖包,如:github.com/spf13/cobra,在国内使用 go get 命令安装时经常会出现 timeout 等问题,实在让人头疼。大家都知道,在国内网络环境下,想要解决这种问题,只有掌握 xx 上网才能彻底解决。但是 xx 上网却是需要花费额外成本的,那该怎么办呢?


本文将会介绍一种 Go 代理 goproxy 的方式来解决上述问题,让你既不花钱,又能快速下载安装。

1、goproxy.cn 介绍

Go 的 1.11 版本以后可以设置环境变量 GOPROXY,来设置代理,以加速下载。目前国内使用最多的是 goproxy.cn,号称中国最可靠的 Go 模块代理。


它有以下特点:


  • 极速下载: 我们正在使用七牛云 CDN 在全球范围内加速我们的服务,并且我们没有设置任何带宽限制。凭借着数以千计的 CDN 节点和 40Gbps+ 的单节点带宽,你将被赋予一个以极快的速度下载模块版本的能力。

  • 没有限制: 我们不但没有设置带宽限制。更进一步地,我们还没有设置任何速率限制。这意味着你可以在任何场景下使用我们的服务,例如 CI/CD。你甚至可以像 goproxy.baidu.com 一样将我们的服务用作上游代理。

  • 功能齐全: 我们一直在使用最新的 Go 版本,甚至是不稳定版本。因为我们提供了最前沿的功能支持。特别地,我们支持代理默认的校验和数据库 sum.golang.org。你不需要做任何额外的事情,它就可以工作。

  • 数据可视: 为了使大家可以更好地了解我们的服务中所有模块的活跃度,我们推出了 Go 模块代理世界中的首个统计数据 API。通过得体的 RESTful API 设计,你将能够轻松地查询我们服务中所有模块版本的统计数据。

2、goproxy.cn 配置

推荐在 Go 1.13 以上版本使用。


打开你的终端执行下面命令:


$ go env -w GO111MODULE=on$ go env -w GOPROXY=https://goproxy.cn,direct
复制代码


macOS 或 Linux:


$ export GO111MODULE=on$ export GOPROXY=https://goproxy.cn
复制代码


或者


$ echo "export GO111MODULE=on" >> ~/.profile$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile$ source ~/.profile
复制代码


Windows:


打开 cmd 命令行,执行:


C:\> $env:GO111MODULE = "on"C:\> $env:GOPROXY = "https://goproxy.cn"
复制代码


或者


1. 打开“开始”并搜索“env”2. 选择“编辑系统环境变量”3. 点击“环境变量…”按钮4. 在“<你的用户名> 的用户变量”章节下(上半部分)5. 点击“新建…”按钮6. 选择“变量名”输入框并输入“GO111MODULE”7. 选择“变量值”输入框并输入“on”8. 点击“确定”按钮9. 点击“新建…”按钮10. 选择“变量名”输入框并输入“GOPROXY”11. 选择“变量值”输入框并输入“https://goproxy.cn”12. 点击“确定”按钮
复制代码

3、小结

有上述 goproxy 代理的设置,go get 命令下载将会变得很快,轻松解决了 timeout 问题。此外,也可以通过国外goproxy.io 代理完成加速,配置方法和 goproxy.cn 完全一样。


参考文章:


  1. https://goproxy.cn/

  2. https://www.goproxy.io/zh/

发布于: 2021 年 04 月 01 日阅读数: 60
用户头像

xcbeyond

关注

不为别的,只为技术沉淀、分享。 2019.06.20 加入

公众号:程序猿技术大咖,专注于技术输出、分享。

评论

发布
暂无评论
1.4 Go语言从入门到精通:Go代理goproxy