解决 golang.org/x 包失败

问题描述

在使用go get\go install 等命令时会自动去下载相关的依赖包,因我国特殊原因会出现下载失败,通常表现如下。

1
package golang.org/x/text: unrecognized import path “golang.org/x/text” (https fetch: Get https://golang.org/x/text?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

解决方法

手动下载包到$GOPATH/src路径下

1
2
3
4
mkdir $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone git@github.com:golang/text.git
rm -rf text/.git

设置代理

第二种方式就是设置代理

使用公共代理服务https://goproxy.io,我们可参见下面直接使用七牛云的代理,国内用户访问更快。

配置国内七牛代理

参见文档:

MacOS或者Linux

1
2
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn

or

1
2
3
$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile

Windows

1
2
C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"

or

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

重启goland

切记,切记,切记!

参考资料