Go模块代理通过设置GOPROXY环境变量切换,支持临时(export/set/$env)和永久(go env -w)配置,推荐使用goproxy.cn等国内镜像并保留direct以支持私有模块,需配合GOINSECURE跳过HTTPS校验。

Go 模块代理(GOPROXY)可以通过 go env 命令查看和修改,切换代理本质就是设置或覆盖环境变量 GOPROXY。不需要重启终端或重装 Go,改完立即生效(新开启的 go 命令会使用新配置)。
运行以下命令,确认当前 GOPROXY 值:
go env GOPROXY
常见返回值有:
https://proxy.golang.org,direct(官方默认,国内可能慢或失败)https://goproxy.cn,direct(七牛云,国内推荐)https://mirrors.aliyun.com/goproxy/,direct(阿里云镜像)off(完全禁用代理,走 direct)仅对当前 shell 会话生效,关闭终端即失效:
export GOPROXY=https://goproxy.cn,direct
$env:GOPROXY="https://goproxy.cn,direct"
set GOPROXY=https://goproxy.cn,direct
执行后可立即运行 go env GOPROXY 验证,再试 go get 是否正常拉取模块。
写入 Go 的环境配置文件,一劳永逸:
go env -w GOPROXY=https://goproxy.cn,direct
~/.go/env(Linux/macOS)或 %USERPROFILE%\AppData\Roaming\go\env(Windows)如需恢复默认,执行:go env -u GOPROXY(取消自定义值,回归 go 默认行为)。
GOPROXY 支持用英文逗号分隔多个地址,按顺序尝试,遇到 404 或 410 自动降级到下一个:
go env -w GOPROXY="https://goproxy.cn,https://proxy.golang.org,direct"
若项目含私有模块(如公司内网 Git),建议末尾保留 direct,确保私有域名不走代理:
GOPROXY=https://goproxy.cn,direct → 私有模块(如 git.example.com/mylib)会直连GOINSECURE 中声明(如 go env -w GOINSECURE=git.example.com),否则 HTTPS 校验失败基本上就这些。切换代理不复杂但容易忽略 direct 和 GOINSECURE 的配合,尤其在混合使用公有/私有模块时。
以上就是如何使用Go Env切换模块代理_Go Env代理切换教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号