GOPROXY 是 Go 模块下载代理地址,用于加速和稳定依赖拉取;因国内访问官方 proxy.golang.org 常失败,需配置国内镜像(如 goproxy.cn)并配合 GOPRIVATE 跳过私有仓库代理。

GOPROXY 是 Go 模块下载的代理地址,Go 在 1.13+ 版本默认启用模块模式后,会优先通过该代理拉取依赖。国内直接访问 proxy.golang.org 常因网络问题超时或失败,导致 go mod download 卡住、构建失败。配置可靠的代理(如国内镜像或私有仓库)能显著提升依赖下载速度和稳定性。
推荐使用国内可信镜像,例如清华、七牛、阿里云提供的 Go 代理服务:
https://mirrors.tuna.tsinghua.edu.cn/goproxy/
https://goproxy.cn
https://goproxy.aliyun.com
设置方法(任选其一):
export GOPROXY=https://goproxy.cn,direct
echo "export GOPROXY=https://goproxy.cn,direct" >> ~/.zshrc && source ~/.zshrc
go env -w GOPROXY=https://goproxy.cn,direct
注意:末尾的 direct 表示对私有域名(如公司内网模块)不走代理,直接拉取,避免认证或网络隔离问题。
立即学习“go语言免费学习笔记(深入)”;
当项目依赖公司内部模块(如 git.company.com/internal/pkg),需让 Go 知道哪些域名跳过代理直连,并可能需要配置凭证:
GOPRIVATE 告诉 Go 哪些模块不走代理:go env -w GOPRIVATE=git.company.com/internal/*
git config 或 ~/.netrc 提供用户名/Token:git config --global url."https://token:x-oauth-basic@git.company.com/".insteadOf "https://git.company.com/"
export GOPROXY=https://goproxy.cn,https://proxy.golang.org,direct,Go 会按顺序尝试,首个成功即停止。配置完别急着跑项目,先快速验证是否生效:
go env GOPROXY GOPRIVATE
go mod download github.com/go-sql-driver/mysql,观察是否秒完成GOPRIVATE 是否覆盖了私有路径,或 Token 是否过期GODEBUG=goproxylookup=1 go list -m all 2>&1 | grep proxy
私有模块首次拉取较慢属正常——Go 会解析 go.mod、校验 checksum、缓存到本地 $GOPATH/pkg/mod/cache,后续复用极快。
以上就是如何在Golang中配置模块代理_使用GOPROXY和私有仓库加速下载的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号