关于https://goproxy.cn,direct与https://proxy.golang.org的问题,国内无法访问https://proxy.golang.org设置了GOPROXY仍不可行

关于https://goproxy.cn,direct与https://proxy.golang.org的问题,国内无法访问https://proxy.golang.org设置了GOPROXY仍不可行

一步一步说:
首先,遇到报错信息

go: github.com/StackExchange/[email protected]: Get "https://proxy.golang.org/github.com/%21stack%21exchange/wmi/@v/v0.0.0-20190523213315-cbe66965904d.mod": dial tcp 34.64.4.17:443: i/o timeout
make: *** [build_yaml] Error 1

类似的报错信息表示访问时被拒绝,国内无法访问https://proxy.golang.org。

然后,网上的一些建议推荐修改GOPROXY

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

执行命令后,通过go env可以看到修改了GOPROXY,但这对我无效!

我依旧会遇到上述问题

解决方法:

在你的运行命令前直接加上GOPROXY=https://goproxy.cn,direct,而不是先修改再执行你的命令。

例如:

env GO111MODULE=on GOPROXY=https://goproxy.cn,direct go run xxx

这样就可以运行了

原因我不是很清楚,貌似是之前设置的环境和命令运行的环境不是同一个环境,具体的想研究可参考以下链接:
https://github.com/goproxy/goproxy.cn/issues/93
https://github.com/goproxy/goproxy.cn/issues/29

你可能感兴趣的:(关于https://goproxy.cn,direct与https://proxy.golang.org的问题,国内无法访问https://proxy.golang.org设置了GOPROXY仍不可行)