MacDesarrolladores3 min de lectura

Cómo borrar los cachés de Homebrew, npm, pip, Gradle, CocoaPods y Docker en una Mac

Los administradores de paquetes y las herramientas de desarrollo mantienen cachés grandes. Aquí están los comandos oficiales para limpiar Homebrew, npm, Yarn, pnpm, pip, uv, Gradle, CocoaPods, Dart, Cargo y Docker de forma segura.

Actualizado · Escrito por el equipo spacerecover

Cada administrador de paquetes mantiene un caché local de lo que descarga y la mayoría nunca lo limpia por su cuenta. Después de algunos años de proyectos, estos cachés pueden alcanzar fácilmente decenas de gigabytes. La buena noticia es que casi todos se pueden borrar de forma segura, porque las herramientas vuelven a descargar lo que necesitan.

Antes de comenzar: deje de ejecutar compilaciones, instalaciones y servidores de desarrollo. Borrar un caché mientras una herramienta lo está utilizando puede provocar errores confusos.

Ver dónde está el espacio

Este comando de solo lectura muestra el tamaño de las carpetas de caché comunes:

du -sh ~/Library/Caches/Homebrew ~/.npm ~/Library/pnpm ~/Library/Caches/pip ~/Library/Caches/uv ~/.gradle/caches ~/Library/Caches/CocoaPods ~/.pub-cache ~/.cargo/registry 2>/dev/null

Se omiten las carpetas que no existen.

Homebrew

Homebrew mantiene los paquetes precompilados descargados (bottles) y las versiones antiguas de fórmulas. Límpielos con:

brew cleanup

Para eliminar también todas las descargas almacenadas en caché, no solo las antiguas:

brew cleanup --prune=all

Ejecute brew cleanup -n primero para ver qué se eliminaría sin eliminarlo.

npm, Yarn y pnpm

npm cache clean --force
yarn cache clean
pnpm store prune

npm cache verify comprueba y ordena el caché sin borrarlo todo. pnpm store prune elimina paquetes a los que no hace referencia ningún proyecto, lo cual es seguro para un almacén de pnpm compartido entre proyectos.

Carpetas antiguas de node_modules

Cada proyecto de JavaScript tiene su propio node_modules, a menudo de cientos de megabytes. Para enumerarlos en una carpeta de proyectos sin eliminar nada:

find ~/code -name node_modules -type d -prune -exec du -sh {} + 2>/dev/null

Elimine node_modules en proyectos en los que no esté trabajando activamente. Al ejecutar npm install, vuelve a aparecer.

Python: pip y uv

pip cache purge
uv cache clean

uv cache prune es una opción más suave que elimina sólo las entradas no utilizadas. Los entornos virtuales (carpetas .venv) en proyectos antiguos también pueden ser grandes y pueden recrearse a partir de su archivo de requisitos.

Gradle

La caché de dependencia de Gradle se encuentra en ~/.gradle/caches. Detenga cualquier demonio en ejecución y luego elimínelo:

./gradlew --stop
rm -rf ~/.gradle/caches

Gradle vuelve a descargar las dependencias en la siguiente compilación. Los usuarios de Android Studio también pueden eliminar plataformas SDK de Android e imágenes del sistema antiguas en Configuración > Idiomas y marcos > SDK de Android, y emuladores antiguos en el Administrador de dispositivos.

CocoaPods

pod cache clean --all

Esto borra los pods descargados. La carpeta Pods y el archivo Podfile.lock de sus proyectos no se ven afectados.

Dart y Flutter

dart pub cache clean

Esto elimina todo el contenido del caché de pub, incluidas las herramientas activadas globalmente, que deberá activar nuevamente. Al ejecutar flutter pub get en un proyecto, se recuperan sus paquetes. flutter clean en un proyecto elimina su resultado de compilación.

Rust (Cargo)

Ejecute cargo clean en proyectos en los que no esté trabajando para eliminar sus carpetas target, que suelen ser el almacenamiento más grande de Rust. El caché de registro en ~/.cargo/registry se puede eliminar y se descargará nuevamente.

Docker

Docker Desktop almacena imágenes, contenedores, volúmenes y caché de compilación en una única imagen de disco, por lo que su almacenamiento no se reduce al eliminar archivos en Finder.

  1. Vea qué está usando el espacio:
   docker system df
  1. Elimine contenedores detenidos, redes no utilizadas, imágenes sin etiqueta y caché de compilación:
   docker system prune

Agregue -a para eliminar también todas las imágenes que no utiliza un contenedor. No agregue --volumes a menos que esté seguro: los volúmenes contienen datos persistentes, como bases de datos locales.

  1. En Docker Desktop > Configuración > Recursos, puede ver y limitar el tamaño de la imagen del disco.

Xcode

DerivedData, los archivos de distribución y los archivos de soporte del dispositivo y los simuladores de Xcode se tratan en nuestra guía separada para borrar el almacenamiento de Xcode.

Preguntas frecuentes

¿Es seguro borrar el caché npm?

Sí. npm descarga paquetes nuevamente según sea necesario. Primero detenga cualquier instalación en ejecución. Sus proyectos y sus carpetas node_modules no se ven afectados.

¿docker system prune elimina mis datos?

De forma predeterminada, elimina contenedores detenidos, redes no utilizadas, imágenes sin etiqueta y caché de compilación, pero no volúmenes. Los volúmenes, que a menudo contienen bases de datos, solo se eliminan si agrega --volumes.

¿Puedo eliminar ~/.gradle/caches?

Sí, después de detener los demonios Gradle. Gradle vuelve a descargar las dependencias en la siguiente compilación, lo que requiere tiempo y ancho de banda.

¿Quieres que lo hagamos por ti?

spacerecover encuentra Homebrew, npm, Gradle, CocoaPods, pip, uv, los cachés de paquetes de Swift y Dart, además de la salida de compilación de Xcode y el almacenamiento de Docker, y explica qué se regenera en cada caso. Nunca ejecuta comandos generales de limpieza y los proyectos en sus carpetas de código están protegidos.

Fuentes y lecturas adicionales

SIGUE ADELANTE