warning: go env -w GOPROXY=... does not override conflicting OS enviro

393 阅读1分钟

我们在githup等一些第三方去拉取一些包的话,可能要拉取很久或者是根本无法访问,因此我们在go项目中需要取设置一个代理(也就是就是设置GOPROX环境变量),一般是设置国内的代理,从代理服务器上去拉取。

设置Go语言的环境变量的指令:

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

在GoLand控制台执行go get download在执行下载mod报错: image.png

go: module github.com/gin-gonic/gin: Get "goproxy.cn.direct/github.com/…": dial tcp: lookup goproxy.cn.direct: no such host 报错信息是连接不上官方网址,可是我明明走了代理不访问官方网址,走goproxy.cn 的啊。开始查找原因(其实检查下网址这个时候是可以发现问题了的)。

打开cmd,用go env 命令查看: image.png

然后在GoLand控制台执行go env: image.png

对比发现两个GOPROXY的值不一样,在GoLand控制台的GOPROXY的值是goproxy.cn.direct ,后缀应为',direct'而非'.direct',是原先创建项目的时候填错了。

于是重新设置代理地址,当我在GoLand控制台设置代理时GoLand报错:

image.png warning: go env -w GOPROXY=... does not override conflicting OS environment variable

后来发现是是因为项目创建时设置了这个值,在环境变量已经中有了这个值,也在goland的环境变量中找到了这个原先创建Go项目设置的环境变量,把它删除,保存,重启GoLand后。

image.png 在Terminal界面重新设置 go env -w GOPROXY=https://goproxy.cn,direct 然后就可以执行go get download了。

image.png 或者将goland的环境变量改正,保存,再重启goland,也可正常执行download。

引用:blog.csdn.net/Deronn/arti…