必须通过设置GOCACHE环境变量修改Go构建缓存路径,GoLand界面配置无效;需设为可写绝对路径(如D:\GoCache\build),禁用中文、空格和波浪号,手动创建目录并重启终端与GoLand验证。

GoLand 里改不了 GOCACHE,得靠环境变量
GoLand 本身不控制 GOCACHE 路径,它只是调用 Go 命令行工具(go build、go test 等),而这些命令读取的是系统级或 Shell 级的 GOCACHE 环境变量。你在 GoLand 的 Settings → Go → GOROOT 或 Project SDK 里改任何路径,对 GOCACHE 都没影响。
必须设为可写绝对路径,且不能含空格或中文
Windows 用户尤其容易在这里翻车:GOCACHE 值必须是完整绝对路径(如 D:\GoCache\build),不能带中文、空格、括号或波浪号(~)。目录要提前手动创建,并确保当前用户有完全读写权限。
- 错误示例:
C:\Users\张三\go\cache(含中文)、D:\My Cache\build(含空格)、~/go/cache(波浪号在 Windows 不展开) - 正确示例:
D:\GoCache\build、E:\gocache
永久生效:Windows 用户该设用户变量还是系统变量?
推荐设为「用户变量」,避免权限问题和多账户冲突。系统变量需要管理员权限,且可能被其他用户或服务误用。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 打开「控制面板 → 系统 → 高级系统设置 → 环境变量」
- 在「用户变量」区域点击「新建」,变量名填
GOCACHE,值填你准备好的路径(如D:\GoCache\build) - 重启所有已打开的终端和 GoLand —— 不重启,
go env GOCACHE仍会显示旧路径
验证是否生效 + 清理旧缓存
执行 go env GOCACHE,输出必须是你设的新路径。如果不是,后续所有编译产物仍会写进默认位置(%USERPROFILE%\AppData\Local\go-build on Windows)。
- 旧缓存不会自动迁移,得手动清理:
go clean -cache(注意是-cache,不是-modcache) - 清理前确认
go env GOCACHE已指向新盘,否则会清错地方 - 首次使用新
GOCACHE时,构建会慢一点(因为要重新生成对象文件),但只发生一次
真正起作用的永远是 GOCACHE 环境变量本身,而不是 IDE 界面里的任何设置。路径写错、没重启、权限不足、忘记手动建目录——这四点占了 90% 的失败原因。

















