必须配置goproxy=https://goproxy.cn,direct,因默认直连proxy.golang.org在国内不可达,导致go mod download卡住;,direct为必需兜底项,确保私有模块可回退直连。

Beego项目执行go mod download或go run main.go时卡在依赖拉取环节,十几分钟没反应,本质是go命令默认直连境外模块仓库导致超时失败。
确认当前GOPROXY配置
在终端运行:go env GOPROXY。
如果输出是https://proxy.golang.org,direct或空值,说明未启用国内代理,必须手动设置——【直连 proxy.golang.org 在国内多数网络环境下无法稳定访问】。
临时设置代理(单次生效)
执行:go env -w GOPROXY=https://goproxy.cn,direct。
这一步会写入用户级的Go环境配置文件(如 macOS 的 ~/Library/Application Support/go/env),下次启动新终端仍有效。注意末尾的 ,direct 是兜底策略:当代理不可用时自动回落到直连,避免完全断网。
永久切换为清华镜像(推荐老项目兼容)
方法一:使用清华源(更稳定,对含私有模块的老Beego项目更友好)
执行:go env -w GOPROXY=https://mirrors.tuna.tsinghua.edu.cn/goproxy/,direct。
方法二:同时启用多个代理(按顺序尝试)
执行:go env -w GOPROXY="https://goproxy.cn,https://mirrors.tuna.tsinghua.edu.cn/goproxy/,direct"。
注意:多个代理地址之间用英文逗号分隔,中间**不能有空格**,否则 go 会解析失败并静默忽略整个配置。
验证代理是否生效
第一步:清除旧缓存go clean -modcache。
第二步:强制重新下载依赖go mod download -x。
第三步:观察终端输出中的 fetch URL——若看到类似 https://goproxy.cn/github.com/beego/beego/v2/@v/v2.0.1.mod 的地址,说明代理已接管请求;若仍出现 proxy.golang.org 或超时重试,则 GOPROXY 未正确写入或被 shell 配置覆盖。
第四步:快速测试 Beego 核心包go get github.com/beego/beego/v2@latest,正常应在 3 秒内完成下载解压。











