PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

国内下载 go get golang.org/x 包失败的解决办法

藏色散人
藏色散人 转载
2020-10-14 16:25:31 2639浏览

下面由golang教程栏目给大家介绍国内下载 go get golang.org/x 包失败的解决办法,希望对需要的朋友有所帮助!

goproxy 环境变量

我们知道从 Go 1.11 版本开始,官方支持了 go module 包依赖管理工具。
其实还新增了 GOPROXY 环境变量。如果设置了该变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。这无疑对我等无法科学上网的开发良民来说是最大的福音。
更可喜的是,goproxy.io (https://github.com/goproxyio/goproxy)这个开源项目帮我们实现好了我们想要的。该项目允许开发者一键构建自己的 GOPROXY 代理服务。同时,也提供了公用的代理服务 https://goproxy.io,我们只需设置该环境变量即可正常下载被墙的源码包了:

export GOPROXY=https://goproxy.io

不过,需要依赖于 go module 功能。可通过 export GO111MODULE=on 开启 MODULE。
如果项目不在 GOPATH 中,则无法使用 go get ...,但可以使用 go mod ... 相关命令。
也可以通过置空这个环境变量来关闭,export GOPROXY=

对于 Windows 用户,可以在 PowerShell 中设置:

$env:GOPROXY = "https://goproxy.io"

最后,我们当然推荐使用 GOPROXY 这个环境变量的解决方式,前提是 Go version >= 1.11

说明

本文非原创,因为依赖的问题,困扰我三天左右(现阶段我就晚上捣鼓go,白天有其它工作),通过 google 在网上找到一篇帖子,也就是上面的内容,配置 GOPROXY 之后,相关依赖都下载成功。之所以把内容贴过来,是因为国内可能无法访问该网页… 原帖内容不止这一个方法,但那些方法国内的帖子都有出现过,只有上文解决方法,我尚未遇到发现,原文地址:一键解决 go get golang.org/x 包失败(https://shockerli.net/post/go-get-golang-org-x-solution/)

感谢走在前面的人 格物(https://shockerli.net/about/)

要是还是下载不来包,控制台执行下面这条语句:

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

                                                      

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除