GoLand 不保存 GOPROXY,它读取系统环境变量或 go env -w 设置的值;推荐用 go env -w GOPROXY=https://goproxy.cn,direct 持久化配置并重启 IDE 生效。

GoLand 的 GOPROXY 设置保存在哪儿
GoLand 本身不直接“保存” GOPROXY 到某个配置文件里,它只是读取并尊重你系统环境变量或 Go 工具链本身的设置。真正生效的 GOPROXY 来自三个层级,优先级从高到低:
- 当前终端启动 GoLand 时继承的环境变量(最常用、最可靠)
-
go env -w GOPROXY=...写入的全局 Go 环境配置(影响所有 go 命令,包括 GoLand 内置终端和构建流程) - GoLand 的
Settings > Go > GOPATH页面里勾选的 “Use GOPROXY environment variable” —— 这只是个开关,不是输入框,不存值
为什么改了 Settings 里的 GOPROXY 却不生效
因为 GoLand 的界面里根本**没有 GOPROXY 输入框**。很多人误点 Settings > Go > GOPATH 或 Settings > Tools > Terminal,想找代理配置入口,结果发现只有开关没地方填值——这是设计如此,不是漏配。
常见错误现象:
- 在 Settings 里翻遍 Go 相关页,找不到
GOPROXY文本框 - 改了 Terminal 的环境变量模板,但新开的 GoLand 终端还是走默认代理
- 用内置 Terminal 执行
go env GOPROXY返回空或https://proxy.golang.org,说明没生效
推荐做法:用 go env -w 持久化设置
这是最轻量、最兼容、且对 GoLand 完全透明的方式。GoLand 所有 go 命令(依赖分析、test、build、vendor)都会读取 go env 输出。
执行以下命令(替换成你实际用的代理地址):
go env -w GOPROXY=https://goproxy.cn,direct
验证是否写入成功:
FastAPI + Flask 混合部署最佳实践,解决路由定义、API 代理等常见问题,适用于同时运行 FastAPI API 与 Flask 前端的场景。
go env GOPROXY
输出应为 https://goproxy.cn,direct。此后重启 GoLand,所有功能立即按此代理拉包。
注意点:
- 不要加引号,
go env -w GOPROXY="https://..."会把引号一起存进去,导致 400 错误 -
direct必须保留,否则私有模块无法访问 - 若需清空,运行
go env -u GOPROXY
终端启动方式决定环境变量是否继承
如果你习惯双击图标启动 GoLand,它**不会自动加载 shell 的 .zshrc 或 .bash_profile 里的 export GOPROXY=...**,所以即使你在终端里 echo $GOPROXY 正常,GoLand 里仍可能为空。
解决方法只有两个:
- 改用终端启动:
open -a "GoLand.app"(macOS)或goland.sh(Linux),确保继承当前 shell 环境 - 或者彻底放弃环境变量路径,只用
go env -w—— 它不依赖启动方式,最省心
Windows 用户注意:go env -w 在 PowerShell 和 CMD 下都有效,无需额外配置系统环境变量。
复杂点在于:GoLand 的“External Tools”或“Run Configurations”如果显式设置了环境变量,会覆盖 go env 的值——这种场景极少,但一旦出现,优先检查 Run Configuration 里的 Environment variables 字段是否手动填了 GOPROXY。

















