GoLand 不管理 Go 缓存,磁盘占用主要来自 $GOCACHE 和 $GOMODCACHE;清理用 go clean -cache 和 go clean -modcache,避免手动 rm;IDE 配置清理与构建无关。

GoLand 本身不管理 Go 缓存,它只调用 go 命令
GoLand 没有“项目级缓存”这个概念——它不会自己生成或维护类似 target/ 或 .idea/cache/ 这样的构建产物目录。你看到的磁盘占用,99% 来自 Go 工具链自身写入的两处:$GOCACHE(编译中间文件)和 $GOMODCACHE(模块下载包)。IDE 只是触发了 go build、go test 或后台 gopls 分析,缓存由 Go 自己落盘。
清理 $GOCACHE:用 go clean -cache
这是最常需要清理的部分,尤其当你频繁改代码、开 race 检测、切 CGO_ENABLED 或换 GOOS/GOARCH 时,旧缓存可能失效但不自动清除,导致构建行为异常或静默链接失败。
-
go clean -cache不依赖当前目录,全局生效,删的是$GOCACHE下所有内容(macOS 默认在~/Library/Caches/go-build,Linux 在$HOME/.cache/go-build) - 执行后首次构建会稍慢,之后速度恢复,缓存体积重置为 KB 级
- 别手动
rm -rf $GOCACHE—— 如果有 IDE 或终端正在读取缓存,可能触发 I/O 错误 - 关闭 GoLand 的 “Build project automatically”(Settings → Go → Build Tags & Vendoring)能显著减少缓存生成频率
清理 $GOMODCACHE:用 go clean -modcache
当 go list -m all 显示版本错乱、invalid version: unknown revision、或 $GOPATH/pkg/mod 占用超 10GB 但项目依赖不到 50 个模块时,该清了。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
-
go clean -modcache安全、幂等,只删$GOMODCACHE(默认即$GOPATH/pkg/mod),不动go.mod、go.sum或vendor/ - 清理后首次
go build会按需重下缺失模块,不是全部重拉;若想预估释放空间,先跑du -sh $(go env GOMODCACHE) - 千万别
rm -rf $GOPATH/pkg/mod—— 多 GOPATH、CI 未设 GOPATH、或后台gopls正在读取时,极易出错 - 清理后不必立刻
go mod download,除非你刚升级 Go 版本,或go list -m all输出含(incompatible)或missing
GoLand 自身配置与缓存也要清,但和 Go 构建无关
如果你重装 GoLand 后发现项目识别失败、补全卡顿、或启动卡在欢迎页,大概率是旧配置残留,和 $GOCACHE 无关。
- 删配置:
rm -rf ~/Library/Application\ Support/JetBrains/GoLand*(macOS) - 删缓存:
rm -rf ~/Library/Caches/JetBrains/GoLand* - 删日志与偏好:
rm -rf ~/Library/Logs/JetBrains/GoLand*和rm -rf ~/Library/Preferences/JetBrains/GoLand* - 检查 shell 配置文件(
~/.zshrc、~/.bash_profile),删掉残留的GOROOT=、GOPATH=或 PATH 中的旧 go 路径
真正影响构建速度和磁盘占用的,永远是 Go 工具链自己的缓存路径,而不是 GoLand 的界面状态或插件数据。每次清理前,先确认你到底想解决什么问题:是构建变慢、磁盘爆满,还是 IDE 行为异常——它们对应完全不同的清理目标。

















