必须设为goproxy=https://goproxy.cn,direct,漏掉,direct会导致私有模块拉取失败;go env -w后不走代理主因是goprivate优先级更高而拦截请求,需用go env -u goprivate清空并验证。

直接结论:必须设为 GOPROXY=https://goproxy.cn,direct,漏掉 ,direct 会导致私有模块(如公司内网 Git)拉取失败,且无法通过其他方式绕过。
go env -w GOPROXY= 后仍不走代理?检查 GOPRIVATE 是否干扰
常见现象是执行 go env -w GOPROXY=https://goproxy.cn,direct 后,go get 还卡在 proxy.golang.org 或报证书错误。这不是命令没生效,而是 GOPRIVATE 的优先级高于 GOPROXY —— 只要模块路径匹配 GOPRIVATE 列表里的前缀(比如 gitlab.example.com 或 *.corp),Go 就会跳过代理直连源站。
- 查当前值:
go env GOPRIVATE,若输出非空,极可能是误配 - 清空它:
go env -u GOPRIVATE(注意是-u,不是-w "") - 再确认:
go env GOPROXY应输出https://goproxy.cn,direct - 临时验证:
go list -m github.com/go-sql-driver/mysql@latest,秒回即生效
https://goproxy.cn 和 https://mirrors.aliyun.com/goproxy/ 怎么选?
国内用户无脑选 https://goproxy.cn。它由七牛云官方维护,CDN 节点全在国内,对 sum.golang.org 的 checksum 查询也做了镜像;而 https://goproxy.io 已于 2023 年底停止服务,目前重定向到第三方,响应慢且偶发 503。
安装并运行 Aperture(Lightning Labs 的 L402 闪电反向代理),用于创建 L402 付费墙、配置付费 API 端点、为其他代理托管付费内容或测试 L402 认证流程。
- 阿里云镜像同步频率为小时级,七牛云为分钟级,实际体验差距明显
- 不要堆叠多个镜像(如
goproxy.cn,aliyun.com,goproxy.io,direct):Go 按顺序尝试,第一个失败就拖慢首次请求,且无实质容灾价值 - 若公司有自建 proxy,可放最前:
go env -w GOPROXY=https://your-intranet-proxy,goproxy.cn,direct
go mod download 报 checksum mismatch 怎么办?
典型错误:verifying github.com/sirupsen/logrus@v1.9.3: checksum mismatch。这不是代理配置问题,而是本地 go.sum 记录的哈希与代理返回内容不一致,常见于之前用过不同代理、手动改过 go.sum、或模块作者重写了 tag。
- 先清缓存:
go clean -modcache,再重试go mod download - 临时跳过校验(仅调试):
go get -insecure github.com/xxx/yyy - 慎用
GOINSECURE:它影响所有匹配域名,应限定范围,如export GOINSECURE="git.internal.company" - 不要在
go.mod里乱加replace却忘了删// indirect标记,这会污染 checksum 计算逻辑
真正容易被忽略的是 ,direct 这个尾巴——很多教程只贴前半截,结果团队里有人拉私有模块时报 module not found,查半天才发现代理把所有请求都拦了,连公司内网 Git 也不放行。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










