必须配置goproxy=https://goproxy.cn,direct,因go 1.13+默认启用模块代理,仅设镜像地址不加direct会导致404时无法fallback直连github等源仓库,而direct是必需的失败降级机制。

go env -w GOPROXY 必须带 ,direct
不加 ,direct 是国内配置镜像后仍拉不下私有模块或 GitHub 仓库里未被镜像的包的最常见原因。Go 1.13+ 默认启用 module,但 GOPROXY 若只设为 https://goproxy.cn,遇到未收录模块时会直接报错 module github.com/xxx/yyy: reading https://goproxy.cn/xxx/yyy/@v/list: 404 Not Found,而不是退回到源仓库。
正确写法是:
go env -w GOPROXY=https://goproxy.cn,direct
逗号分隔表示“依次尝试”,direct 是 fallback 机制:代理返回 404 就走直连(即从 GitHub、GitLab 等原始地址下载),前提是你的网络能访问这些地址。若公司内网完全屏蔽外网,还需配合 GOPRIVATE。
-
https://goproxy.cn响应快、覆盖全,适合作为主镜像 -
https://mirrors.aliyun.com/goproxy/和https://goproxy.io可作为备选,但近年稳定性略逊于goproxy.cn - 不要写成
https://goproxy.cn;https://mirrors.aliyun.com/goproxy/—— 分号无效,Go 只认英文逗号
GOROOT 和 GOPATH 不用手动配,但 GOPROXY 必须显式设
Go 1.16+ 安装后 GOROOT 自动识别安装路径,GOPATH 默认指向 $HOME/go(macOS/Linux)或 %USERPROFILE%\go(Windows),无需干预。真正要动手的是 GOPROXY —— 它不设就走默认的 https://proxy.golang.org,而这个地址在国内基本不可用。
验证是否生效:
go env GOPROXY
输出应为完整字符串,如 https://goproxy.cn,direct。如果输出为空或 off,说明设置失败,常见原因是拼错变量名(比如写成 GO_PROXY 或 goproxy),注意大小写必须全大写、下划线不能少。
Go语言(Golang)1.26.0版本提供 Go 官方 Windows amd64 MSI 安装包下载入口,版本号 1.26.0,可用于旧项目维护、兼容性测试和指定版本开发环境配置。
私有模块和公司内网场景必须加 GOPRIVATE
当你引用 gitlab.example.com/internal/lib 这类非公开域名下的模块时,即使 GOPROXY 设了 ,direct,Go 仍会先试图去镜像站查,失败后才直连——但直连前会校验 checksum,而私有仓库没发布到 checksum DB,导致 checksum mismatch 错误。
解决方法是告诉 Go:“这些域名跳过代理和校验”:
go env -w GOPRIVATE=gitlab.example.com,github.corp.internal
多个域名用英文逗号分隔,支持通配符:*.corp.internal。
-
GOPRIVATE不影响GOPROXY的行为,只是绕过 proxy + sumdb - 若同时用
GOSUMDB=off,虽能过 checksum,但失去依赖完整性保护,不推荐 - CI/CD 中也要同步设置这两个变量,否则构建机上照样失败
g 工具和 go install 都不替代 GOPROXY 配置
有人装了 g 工具来切换 Go 版本,以为它能自动配好镜像;也有人用 go install golang.org/x/tools/cmd/goimports@latest,发现还是卡在 proxy.golang.org。这两者本质无关:g 管的是 GOROOT 切换,go install 下的是命令行工具,它们都不触碰模块下载逻辑。
真正控制依赖下载路径的,只有 GOPROXY(和可选的 GOPRIVATE)。哪怕你用 g use 1.22.5 切换到最新版 Go,只要 go env GOPROXY 没设对,go get 依然会超时。
容易忽略的一点:GOPROXY 是运行时环境变量,不是安装时配置项。重装 Go、升级 g、甚至重装系统,都得重新执行 go env -w GOPROXY=... —— 它不随 Go 二进制文件持久化。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










