go clean -cache是清理Go构建缓存最直接有效的命令,它清空$GOCACHE目录(如macOS的~/Library/Caches/go-build),不影响模块缓存,全局生效,执行后首次构建稍慢但体积重置为KB级。

go clean -cache 是清理 GoLand 缓存最直接有效的命令
GoLand 本身不管理构建缓存,它只是调用 go build、go test 等命令,而这些命令默认把中间产物写进 $GOCACHE(如 macOS 在 ~/Library/Caches/go-build)。这个目录会随频繁保存、go test -race 或切换 CGO_ENABLED 快速膨胀,几天就到 30GB+。运行 go clean -cache 就能清空它,且不影响模块缓存($GOPATH/pkg/mod)。
常见错误现象:go build 速度突然变慢、改了函数逻辑却没生效、CI 构建结果和本地不一致——大概率是 $GOCACHE 混入了不同构建模式(比如先用 CGO_ENABLED=0 编译过,再切回 CGO_ENABLED=1)的旧产物。
-
go clean -cache不需要进项目目录,全局生效 - 执行后首次构建会稍慢,之后恢复,缓存体积重置为 KB 级
- 如果设了
GOCACHE=off,这条命令什么也不会做 - 想彻底清,可用
rm -rf $(go env GOCACHE)/*(注意末尾/*)
GoLand 设置里关掉 “自动构建” 能显著减少缓存生成
GoLand 默认开启 Build project automatically,每次保存就触发 go list 和 go build 检查,间接往 $GOCACHE 写东西。这不是必须的,尤其你主要靠终端跑 go run 或 dlv debug 时。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 打开 Settings → Go → Build Tags & Vendoring → 关掉
Build project automatically - Settings → Tools → File Watchers → 关掉所有与 Go 相关的 watcher
- 检查 Settings → Go → Language Server → 确认
build.ignore配置项没误配成pkg/或bin/—— 它不能删缓存,但能避免对这些目录做语义分析,降低误触发概率
别误删 $GOPATH/pkg/mod,那是模块源码缓存
go clean -modcache 才是清模块缓存的正确命令,它删的是 $GOPATH/pkg/mod 下所有解压后的模块源码、.zip 包和校验数据。有人看到 $GOPATH/pkg 占空间大,顺手 rm -rf $GOPATH/pkg,结果 go run main.go 开始疯狂下载依赖——因为 pkg/mod 被连带删了,而 pkg 下其他内容(比如 .a 文件)不是模块缓存,也不该由人手动碰。
- 执行前务必确认
GO111MODULE=on,否则go clean -modcache静默无效 - 清理后建议立刻跑
go mod verify,确保后续拉取的模块和go.sum一致 - 只想删某个模块?手动删更安全:
rm -rf $(go env GOPATH)/pkg/mod/github.com/xxx@v1.2.3和对应cache/download/条目
GoLand 自身 IDE 缓存也要一并清理
GoLand 的配置、插件缓存、索引文件等存在用户目录下,不清理的话,重装或升级后可能加载旧设置、错误 SDK 路径,导致项目识别失败或补全失效。
- 删配置目录:
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* - 删系统级 plist:
rm -f ~/Library/Preferences/com.jetbrains.goland.plist
注意:这些路径里的 GoLand* 会匹配所有版本(如 GoLand2025.1、GoLand2026.1.1),不用手动猜版本号。真正容易被忽略的是 Shell 环境变量残留——某些老版本会在 ~/.zshrc 里写死 GOROOT 或 GOPATH,改完配置后得重启终端或 source ~/.zshrc 才生效。

















