Go 编译缓存 go-build 太大能删吗?Mac 清理方法
可以放心删会自动重新生成;Thermo 直接删除。
先退出: go
位置
~/Library/Caches/go-build
这是什么
go-build 是 Go 工具链的构建缓存(GOCACHE),go build 和 go test 会把编译好的包和测试结果存进来,下次遇到相同输入时直接复用,大幅加快构建。
为什么会这么大
不同的代码改动、构建参数、目标平台和 Go 版本都会产生新的缓存条目。Go 会自动淘汰长期未用的条目,但在活跃开发、频繁交叉编译时仍可能涨到很大。
能删吗?删了会怎样
安全。删除后下一次构建和测试会从头编译,速度变慢,之后就恢复正常。不会影响源码和已安装的二进制。清理前请结束正在运行的 go 命令。
小提示
下载的模块源码在另一个地方(GOPATH 下的 pkg/mod),不属于这一项;那里的文件是只读的,要用 go 的 modcache 清理参数删除,直接 rm 会遇到权限问题。
先看看占了多少
du -sh "$HOME/Library/Caches/go-build" 2>/dev/null用它自带的命令清理
go clean -cache手动删除
在「终端」里执行。删除不可撤销,执行前请确认路径。
rm -rf "$HOME/Library/Caches/go-build"/*