golang依赖下载异常解决方法

在执行bee run的时候,出现了golang依赖包下载失败,提示信息如下:

go: finding module for package github.com/astaxie/beego
main.go:6:2: module github.com/astaxie/beego: Get "https://proxy.golang.org/github.com/astaxie/beego/@v/list": dial tcp 216.58.200.49:443: i/o timeout
2020/08/07 14:05:11 ERROR    ▶ 0003 Failed to build the application: go: finding module for package github.com/astaxie/beego
main.go:6:2: module github.com/astaxie/beego: Get "https://proxy.golang.org/github.com/astaxie/beego/@v/list": dial tcp 216.58.200.241:443: i/o timeout

我们可以看出上面的异常信息应该是 https://proxy.golang.org 无法访问导致的。
从 Go 1.11 版本开始,官方支持了 go module 包依赖管理工具。

还新增了 GOPROXY 环境变量。如果设置了该变量,下载源代码时将会通过这个环境变量设置的代理地址,而不再是以前的直接从代码库下载。

使用go env可以看到,默认的GOPROXY的值是 https://proxy.golang.org。
golang依赖下载异常解决方法_第1张图片

好在 goproxy.io 这个开源项目帮我们提供了我们想要的依赖环境,允许开发者构建自己的 GOPROXY 代理服务。同时,也提供了公用的代理服务 https://goproxy.io , 我们只需设置该环境变量,即可正常下载被墙的源码包。

export GOPROXY=https://goproxy.io

golang依赖下载异常解决方法_第2张图片

你可能感兴趣的:(golang)