【Go第三方包代理】Go第三方包代理设置 — GOPROXY

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的两个地址

主要有两个地址:

根据个人喜好随意选择吧。

1、goproxy.io

官网

post image

原理图

post image

2、Athens

官网

post image

三、GoLand设置

  1. 路径:GoLand —> Perferences —> Go —> Go Modules(vgo)—> Proxy;

  2. 设置上面给出的地址;

  3. 重启即可使用;

四、命令行设置环境变量

此处以 Mac为例,给出示例图片;

只要 export 加入到 环境变量里,一些墙外的第三方包就可以正常获取到了;

windows系统的设置方法可以看 goproxy.io 的设置文档;

~ $ export GOPROXY=https://goproxy.io
~ $ echo $GOPROXY
https://goproxy.io

原文链接:https://blog.csdn.net/tmt123421/article/details/88665248