go get 下载资源的时候下载缓慢甚至遇到timeout,可以通过设置代理的方式来解决。
本文记录 2020 年的 Go Modules/GoLand 设置。现代 Go 默认启用 Modules;安装命令行工具时还要区分 go install 与用于依赖管理的 go get。下面的启动文件示例针对 bash,zsh 用户应按自己的启动方式使用 ~/.zshrc 或 ~/.zprofile。
通过如下命令可以查看go对应的各类变量
1 | go env |
我们重点要看 GOPROXY、GO111MODULE 这两个选项。
- GOPROXY: 代表是使用代理。
- GO111MODULE: 控制是否使用 module,设为 on 可以显式启用 Go Modules 来管理依赖。
Linux 或者 Mac环境下
直接修改环境变量就可以啦。
1 | vim ~/.bash_profile |
通过go env再查看一下,上面的路径是否生效。若已经生效,则重新 go get 下载资源即可。
GO Land 开发
GoLand项目同样沿用上面的环境变量设置,也可以在IDE中设置proxy。当时的操作路径如下,新版界面名称可能不同。
GOLAND->Preferences->Go->Go modules(vgo)->选中Enable Go module integration.
同时设置proxy的值为 https://goproxy.io 或者 https://goproxy.cn,direct
点击apply就行。
保存设置后,在GoLand中重新下载依赖即可。