misonoteApp Center

~/.gradle/caches 占用太大怎么办?Gradle 缓存能删吗

可以放心删会自动重新生成;Thermo 直接删除。

先退出: java

位置

  • ~/.gradle/caches
  • ~/.gradle/daemon
  • ~/.gradle/wrapper/dists

这是什么

~/.gradle/caches 保存下载的依赖、转换后的 jar 和构建缓存;daemon 目录是 Gradle 守护进程的日志和注册信息;wrapper/dists 则是各项目通过 Gradle Wrapper 下载的不同版本 Gradle 发行包。

为什么会这么大

Android 和 Java 项目依赖很多,每个 Gradle 版本还会在 caches 下维护自己的一套数据;不同项目锁定不同的 Gradle 版本,wrapper 就会下载好几个完整发行版。

能删吗?删了会怎样

安全。删除后下次构建时 Gradle 会重新下载依赖和对应版本的发行包,第一次构建会慢很多。清理前请关闭 Android Studio、IntelliJ IDEA 等 IDE,并停止后台的 Gradle 守护进程(它们运行在 java 进程里),否则文件可能被占用。

小提示

wrapper/dists 里通常有不少旧 Gradle 版本,只清理这一个子目录就能释放不少空间,又不必重下所有依赖。

先看看占了多少

du -sh "$HOME/.gradle/caches" "$HOME/.gradle/daemon" "$HOME/.gradle/wrapper/dists" 2>/dev/null

手动删除

在「终端」里执行。删除不可撤销,执行前请确认路径。

rm -rf "$HOME/.gradle/caches"/*
rm -rf "$HOME/.gradle/daemon"/*
rm -rf "$HOME/.gradle/wrapper/dists"/*