Go 1.13起默认启用模块,GOPROXY是控制依赖下载的关键环境变量,推荐设为https://goproxy.cn,https://proxy.golang.org,direct以兼顾速度、稳定与私有模块支持。

Go 1.13 起默认启用了模块(Go Modules),而 GOPROXY 是控制 Go 如何下载依赖包的关键环境变量。正确配置它,能显著提升 go get、go build 等命令的稳定性与速度,尤其在国内访问官方 proxy.golang.org 常受阻。
什么是 GOPROXY
GOPROXY 是一个以逗号分隔的代理 URL 列表,Go 会按顺序尝试从这些地址拉取模块。每个地址支持两种格式:
-
普通代理:如
https://goproxy.cn(国内常用,稳定且缓存完整) -
跳过某些模块:用
direct表示直连(绕过代理),off表示完全禁用代理
例如:GOPROXY=https://goproxy.cn,direct 表示优先走 goproxy.cn,若该站未命中(比如私有模块),则回退到直接拉取。
常用 GOPROXY 推荐值
国内开发者普遍使用以下镜像,均长期维护、兼容 Go 1.13+:
- goproxy.cn:由七牛云维护,响应快、覆盖率高,推荐首选
- proxy.golang.org:官方代理,但国内常不可达,可作为备选或海外环境主用
- goproxy.io(已停服):注意避免使用已下线服务
稳妥组合示例:GOPROXY=https://goproxy.cn,https://proxy.golang.org,direct
Sylius开源电子商务平台是一个开源的 PHP 电子商务网站框架,基于 Symfony 和 Doctrine 构建,为用户量身定制解决方案。可管理任意复杂的产品和分类,每个产品可以设置不同的税率,支持多种配送方法,集成 Omnipay 在线支付。功能特点:前后端分离Sylius 带有一个强大的 REST API,可以自定义并与您选择的前端或您的微服务架构很好地配合使用。如果您是 Symfony
设置 GOPROXY 的三种方式
按生效范围从小到大排列,建议优先用全局方式:
-
临时设置(当前终端有效):
export GOPROXY=https://goproxy.cn(Linux/macOS)或set GOPROXY=https://goproxy.cn(Windows CMD) -
用户级持久化:写入 shell 配置文件(如
~/.bashrc或~/.zshrc),再执行source ~/.zshrc -
全局配置(推荐):运行
go env -w GOPROXY=https://goproxy.cn—— 此命令会写入 Go 的用户配置(go env GOPATH下的env文件),对所有终端永久生效
验证和调试技巧
设完别急着写代码,先确认是否生效:
- 运行
go env GOPROXY查看当前值 - 执行
go list -m -u all或go get github.com/go-sql-driver/mysql@v1.7.0观察是否快速下载成功 - 若报错
module not found或超时,检查是否拼错 URL、网络能否访问该代理地址(如浏览器打开https://goproxy.cn/github.com/go-sql-driver/mysql/@v/v1.7.0.info)
遇到私有仓库(如公司 GitLab)时,可在 GOPROXY 后追加 direct,并配合 GONOPROXY 显式指定不走代理的域名,例如:go env -w GONOPROXY="git.corp.example.com"
基本上就这些。配置一次,后续所有 Go 模块操作都会自动受益,不复杂但容易忽略。









