国内 Go 开发者应配置 GOPROXY 为 https://goproxy.cn,direct 以解决模块下载慢或失败问题;推荐清华、中科大等镜像源,通过 export 命令临时设置或写入 ~/.zshrc 等配置文件永久生效,并可用 go env GOPROXY 验证。

在 Go 项目开发中,国内用户常因网络问题导致 go mod download 或 go get 失败或极慢。根本解决方式是配置可靠的 Go 模块代理(GOPROXY),并可搭配国内镜像源提升稳定性与速度。
设置 GOPROXY 环境变量
Go 1.13+ 默认启用模块代理机制,通过 GOPROXY 指定代理地址(支持多个,用英文逗号分隔)。推荐优先使用官方支持的公共代理,如 https://proxy.golang.org,但国内访问不稳定,建议切换为国内可信镜像:
-
清华镜像:
https://mirrors.tuna.tsinghua.edu.cn/go/ -
中科大镜像:
https://mirrors.ustc.edu.cn/goproxy/ -
七牛云(GoProxy.cn):
https://goproxy.cn(支持私有模块,无需额外配置)
执行命令临时设置(当前终端生效):
export GOPROXY=https://goproxy.cn,direct
其中 direct 表示对私有域名(如公司内网模块)直连不走代理,避免被拦截。
立即学习“go语言免费学习笔记(深入)”;
永久生效配置方法
将环境变量写入 shell 配置文件,使每次新开终端自动加载:
-
macOS / Linux(zsh 用户):编辑
~/.zshrc,追加一行:
export GOPROXY=https://goproxy.cn,direct - Linux(bash 用户):编辑
~/.bashrc,同样添加上述行 - Windows(PowerShell):运行
[Environment]::SetEnvironmentVariable("GOPROXY", "https://goproxy.cn,direct", "User")
配置后执行 source ~/.zshrc(或重启终端)即可生效。
验证代理是否生效
运行以下命令查看当前 Go 环境配置:
go env GOPROXY
应输出你设置的地址(如 https://goproxy.cn,direct)。再尝试拉取一个模块测试:
go mod init example.com/test && go get github.com/sirupsen/logrus@v1.9.0
若下载速度快且无报错(如 verifying github.com/... 日志出现),说明代理已正常工作。
进阶:跳过校验与私有模块支持
部分企业内网模块未公开、无校验信息,或需绕过 GOPROXY 对特定域名的代理,可通过以下变量配合使用:
-
GONOPROXY:指定不走代理的模块前缀,例如export GONOPROXY=git.example.com,github.com/mycorp -
GOSUMDB:关闭模块校验(不推荐生产环境):export GOSUMDB=off;或改用国内校验服务:export GOSUMDB=sum.golang.org+https://sum.golang.google.cn -
GOINSECURE:允许对 HTTP 协议模块源进行不安全访问(仅限测试):export GOINSECURE=git.internal.company
这些变量可和 GOPROXY 同时设置,Go 工具链会按需组合使用。










