一、教程
二、代理环境
Go第三方包代理设置 — GOPROXY 由于国内 墙 的特殊存在,加上现在对翻墙软件的打压,想看看外面的世界越来越难了。
使用 Go 语言的小伙伴们应该也对 Go语言官网 被墙感到苦恼,很多文档和第三方包还得通过一些第三方渠道获得;尤其是 golang.org/x 使用广泛,但是被墙了。。。
Go 在 1.11 版本中放出了 mod 管理机制,在涉及到 第三方库 和 第三方库里用 golang.org/x 的时候,真是让人不爽。。。
下面来介绍一下 GOPROXY 方式去正常使用这些工具。
PS:可以翻墙的小伙伴可以略过所有内容。
一、传统非代理方式解决第三方包问题
go mod 提供了 replace 方式来指定替换包的地址;当然,如果第三方包中引用墙外的包,就需要手动修改他们了,不如代理方式方便;
使用方式如下:
module github.com/exercise
require (
golang.org/x/text v0.3.0
gopkg.in/yaml.v2 v2.1.0
)
replace (
golang.org/x/text => github.com/golang/text v0.3.0
)
二、GOPROXY的两个地址
主要有两个地址:
根据个人喜好随意选择吧。
原理图

三、idea GoLand设置
路径:GoLand —> Perferences —> Go —> Go Modules(vgo)—> Proxy; 设置上面给出的地址; 重启即可使用;


四、命令行设置环境变量
在 Linux 或 macOS 上面,需要运行下面命令:
# 启用 Go Modules 功能
export GO111MODULE=on
# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io
或者,可以把上面的命令写到 .bashrc 或 .bash_profile 文件当中。
在windows设置系统环境变量
GO111MODULE ="on"
GOPROXY = "https://goproxy.io"
查看设置是否成功 go env