必须显式设置GOPROXY环境变量,推荐export GOPROXY=https://goproxy.cn,direct,因其同步及时、sum校验完整且支持私有模块fallback到direct。

如何配置Golang模块代理_Golang依赖加速方案

为什么 go mod download 总是卡在 proxy.golang.org

因为国内直连 proxy.golang.orgsum.golang.org 不稳定,常出现超时、403 或校验失败。Go 默认不走系统代理,且 GO111MODULE=on 后所有依赖都强制走模块代理,不配置就会反复失败。

推荐的 GOPROXY 配置值及取舍

优先使用带校验兜底的组合,避免因代理自身缺失 sum 数据导致构建中断:

export GOPROXY=https://goproxy.cn,direct

这是目前最稳的配置 —— goproxy.cn 同步及时、sum 校验完整、支持私有模块 fallback 到 direct。其他常见选项对比:

如何验证代理是否生效

别只看 go env GOPROXY,要实际触发一次模块下载并观察行为:

私有模块和 replace 场景下要注意什么

设置了 GOPROXY 后,replace 仍优先于代理,但私有仓库(如 GitHub 私库、GitLab)默认会被代理拒绝,必须显式排除:

export GOPROXY=https://goproxy.cn,direct
export GONOPROXY=git.internal.company.com,github.com/my-org/private-repo

GONOPROXY 支持通配符(如 github.com/my-org/*),但注意:

有些团队把 GOPROXY 写进 go.workgo.mod,这是无效的 —— Go 模块代理纯属客户端环境行为,只认环境变量。
本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。