

新闻资讯
技术学院Go 1.13起默认启用模块,GOPROXY是控制依赖下载的关键环境变量,推荐设为https://goproxy.cn,https://proxy.golang.org,direct以兼顾速度、稳定与私有模块支持。
Go 1.13 起默认启用了模块(Go Modules),而 GOPROXY 是控制 Go 如何下载依赖包的关键环境变量。正确配置它,能显著提升 go get、go build 等命令的稳定性与速度,尤其在国内访问官方 proxy.golang.org 常受阻。
GOPROXY 是一个以逗号分隔的代理 URL 列表,Go 会按顺序尝试从这些地址拉取模块。每个地址支持两种格式:
https://goproxy.cn(国内常用,稳定且缓存完整)direct 表示直连(绕过代理),off 表示完全禁用代理例如:GOPROXY=https://goproxy.cn,direct 表示优先走 goproxy.cn,若该站未命中(比如私有模块),则回退到直接拉取。
国内开发者普遍使用以下镜像,均长期维护、兼容 Go 1.13+:
稳妥组合示例:GOPROXY=https://goproxy.cn,https://proxy.golang.org,direct
按生效范围从小到大排列,建议优先用全局方式:
export GOPROXY=https://goproxy.cn(Linux/macOS)或 set GOPROXY=https://goproxy.cn(Windows CMD)~/.bashrc 或 ~/.zshrc),再执行 source ~/.zshrc
go env -w GOPROXY=https://goproxy.cn —— 此命令会写入 Go 的用户配置(go env GOPATH 下的 env 文件),对所有终端永久生效设完别急着写代码,先确认是否生效:
go env GOPROXY 查看当前值go list -m -u all 或 go get github.com/go-sql-driver/mysql@v1.7.0 观察是否快速下载成功module not found 或超时,检查是否拼错 URL、网络能否访问该代理地址(如浏览器打开 https://goproxy.cn/github.com/go-sql-driver/mysql/@v/v1.7.0.info)遇到私有仓库(如公司 GitLab)时,可在 GOPROXY 后追加 direct,并配合 GONOPROXY 显式指定不走代理的域名,例如:go env -w GONOPROXY="git.corp.example.com"
基本上
就这些。配置一次,后续所有 Go 模块操作都会自动受益,不复杂但容易忽略。