GoLand环境缓存需四层清理:项目级Go Environment、Go Build模板、Terminal环境、IDE进程缓存;漏任一层都会导致新配置继承旧变量,且必须重启IDE和Terminal才能生效。

GoLand 的环境缓存不是单个开关能清掉的,它分散在项目配置、模板设置、IDE 进程内存和系统 Shell 四个层面;漏掉任一,新项目或新 Run Configuration 仍会继承旧变量。
删项目级 Go Environment 变量
这是最常被忽略的源头——它直接控制 GOROOT、GO111MODULE、GOPROXY 等核心行为,但不管理 APP_ENV 这类业务变量。
- 路径:File → Settings → Go → Go Environment → Environment 右侧 …
- 逐行点击每条变量左侧的
-按钮删除,不要留空行(空行会被 IDE 忽略,但容易误以为已清空) - 点 OK 后必须重启 GoLand,否则 Terminal 和已打开的 Run Configuration 仍用旧缓存值
- 注意:该操作只影响当前项目,其他已打开项目窗口需单独进各自 Settings 清理
清空 Go Build 模板的 Environment variables
这里决定所有新建 Go Build / Go Test 配置的默认变量,包括是否继承系统变量、以及预设的 APP_ENV=dev 这类业务键值对。不清它,新建配置永远带旧值。
- 路径:Run → Edit Configurations → Templates → Go Build
- 取消勾选
Include system environment variables(这个开关默认常被误开) - 点击
Environment variables右侧 …,清空全部键值对 -
Use template settings对已有配置无影响;若想批量更新旧配置,需手动勾选或重建
检查 Terminal 是否同步了新环境
IDE 内置 Terminal 默认读的是系统环境变量,不是项目级设置。即使你清空了上面两处,go env 仍可能显示旧值,导致误判“没清成功”。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 验证命令:
go env | grep -E "(GOROOT|GO111MODULE|GOPROXY)",输出应与系统一致 - macOS/Linux 用户特别注意:从桌面图标启动 GoLand 时,
.zshrc或.bash_profile中的export不会被加载,GOROOT很可能为空 - 如需 Terminal 同步项目变量,去 Settings → Tools → Terminal → Shell path 勾选
Activate environment variables from project configuration
真正难清理的是 IDE 进程级缓存和作用域分层
改完配置不等于生效——GoLand 启动后会把环境变量缓存在 JVM 进程里,且项目级、模板级、系统级、Shell 启动级各管一段。你看到的“变量没变”,大概率是某一层没刷新,或者 Terminal 没重启。
最容易被跳过的动作:改完 Settings 不重启 IDE、Terminal 里没重新执行 go env、忘记检查 Include system environment variables 是否关闭。这三步缺一,清理就等于白做。










