AskClean

Qué hace brew cleanup -s y cómo limpiar la caché de Homebrew en el Mac

Equipo de AskClean · Actualizado 2026-11-02

Ejecuta brew cleanup -n antes de cambiar nada. Una limpieza normal elimina bloqueos obsoletos, descargas antiguas y versiones anteriores de fórmulas y, salvo que HOMEBREW_NO_AUTOREMOVE esté definido, también puede desinstalar dependencias que ya no se necesitan. La opción -s (--scrub) va más allá: también borra las descargas en caché de las versiones más recientes, como las de paquetes que descargaste pero nunca instalaste o que ya desinstalaste. En cualquier caso, se conservan las descargas de todo lo que sigue instalado. Usa brew --cache para confirmar dónde está la caché activa.

Un estante iluminado con botellas y cajas archivadas, mientras varias botellas aparecen separadas en un contenedor de reciclaje
Cada parte del almacenamiento de Homebrew tiene un coste de recuperación distinto: previsualiza descargas y versiones antiguas, pero protege tus herramientas actuales y su configuración.

Distingue descargas, kegs antiguos y herramientas actuales

Homebrew guarda bottles, archivos fuente y descargas de casks normalmente en ~/Library/Caches/Homebrew; HOMEBREW_CACHE puede cambiar la ruta. Las fórmulas instaladas viven como kegs versionados en Cellar, los casks en Caskroom y los enlaces activos bajo el prefijo. Descubre las ubicaciones reales con brew --cache, brew --cellar, brew --caskroom y brew --prefix. Cellar, Caskroom, el prefijo, Brewfile, dotfiles, servicios, bases de datos y proyectos no son una caché que se pueda borrar en bloque.

Previsualiza y revisa cada candidato

Mide la caché activa con du -sh "$(brew --cache)" y ejecuta brew cleanup -n. La simulación muestra descargas obsoletas, versiones antiguas de fórmulas instaladas y las dependencias que Homebrew proponga desinstalar automáticamente. Contrasta las herramientas importantes con brew list --versions y comprueba si un script o una reversión aún necesitan un keg antiguo. La simulación no es una copia de seguridad: lo que Homebrew elimina no pasa por la Papelera y puede no seguir disponible después en la misma versión.

  1. Ejecuta brew --cache y mide la caché de descargas con du -sh "$(brew --cache)".
  2. Ejecuta brew cleanup -n y revisa cada descarga, cada versión antigua y cada dependencia propuesta para desinstalación automática.
  3. Contrasta las versiones que necesitas con brew list --versions y confirma que podrás volver a descargar lo necesario (red, proxy y disponibilidad).
  4. Ejecuta brew cleanup para el mantenimiento normal; usa brew cleanup -s o brew cleanup --prune=all solo después de revisar su simulación (brew cleanup -n -s o brew cleanup -n --prune=all). Antepón HOMEBREW_NO_AUTOREMOVE=1 si no quieres que se retiren dependencias automáticamente.
  5. Mide otra vez la caché, ejecuta brew cleanup -n y brew list --versions, y prueba al menos una herramienta importante instalada con Homebrew.

brew cleanup -n es solo una simulación. Eliminar un keg antiguo puede romper una reversión o un script que dependa de él, y quizá no puedas recuperar exactamente esa versión.

Elige el alcance: brew cleanup, -s o --prune=all

Después de revisar la simulación, usa brew cleanup para el mantenimiento normal: por defecto trata como candidatas las descargas de más de 120 días. brew cleanup -s (--scrub) amplía la limpieza a las descargas recientes, incluidas las de las versiones más nuevas de paquetes que no están instalados (los que descargaste y nunca instalaste o que ya quitaste), pero conserva las de todo lo que sigue instalado: -s no significa «seguro», «silencioso» ni «borrar toda la caché». brew cleanup --prune=all elimina los archivos de caché sin importar su antigüedad. Previsualiza siempre la combinación exacta (brew cleanup -n -s o brew cleanup -n --prune=all) y cuenta con volver a descargar bottles, archivos o instaladores; cleanup también puede retirar kegs antiguos y dificultar una reversión exacta. Si quieres decidir aparte sobre las dependencias sin uso, antepón HOMEBREW_NO_AUTOREMOVE=1 tanto a la simulación como al comando real.

Separa autoremove, datos propios y verificación

brew autoremove no limpia caché: desinstala fórmulas que Homebrew considera dependencias ya innecesarias, aunque un script propio puede usar una herramienta que no figure en el grafo de dependencias. Revisa antes brew autoremove --dry-run y nunca borres a mano el prefijo, Cellar, Caskroom ni tu configuración. Tras cleanup, mide de nuevo, ejecuta brew cleanup -n y brew list --versions, y prueba los comandos importantes. AskClean puede mostrar la caché de Homebrew como un solo elemento y, si lo apruebas, la elimina de forma permanente; no limpia los kegs antiguos del Cellar, así que para decidir por paquete la referencia es la simulación de Homebrew.

Límites de borrado y coste de recuperación

Entiende brew cleanup -s (--scrub), previsualiza la limpieza de la caché de Homebrew, quita descargas y versiones antiguas y protege tus herramientas actuales.

Elemento o acciónDónde comprobarConsecuencia
Distingue descargas, kegs antiguos y herramientas actualesbrew --cacheHomebrew guarda bottles, archivos fuente y descargas de casks normalmente en ~/Library/Caches/Homebrew; HOMEBREW_CACHE puede cambiar la ruta.
Previsualiza y revisa cada candidatobrew cleanup -nMide la caché activa con du -sh "$(brew --cache)" y ejecuta brew cleanup -n.
Elige el alcance: brew cleanup, -s o --prune=allbrew cleanup / brew cleanup -s / brew cleanup --prune=allDespués de revisar la simulación, usa brew cleanup para el mantenimiento normal: por defecto trata como candidatas las descargas de más de 120 días.
Separa autoremove, datos propios y verificaciónbrew autoremove --dry-run (no es una limpieza de caché)brew autoremove no limpia caché: desinstala fórmulas que Homebrew considera dependencias ya innecesarias, aunque un script propio puede usar una herramienta que no figure en el grafo de dependencias.

Preguntas frecuentes

¿Qué significa brew cleanup -s?

La opción -s es --scrub. También borra las descargas en caché de las versiones más recientes de paquetes que no están instalados, como los que descargaste y nunca instalaste o que ya desinstalaste. Las descargas de las fórmulas y casks que sigues teniendo instalados se conservan. Previsualiza los candidatos reales con brew cleanup -n -s antes de ejecutarlo.

¿Es seguro ejecutar brew cleanup en el Mac?

Es un comando oficial de Homebrew, pero además de descargas obsoletas elimina versiones antiguas de fórmulas y puede activar autoremove. Ejecuta siempre antes brew cleanup -n, conserva los kegs que necesites y usa HOMEBREW_NO_AUTOREMOVE=1 si quieres decidir aparte sobre las dependencias sin uso.

¿Qué elimina brew cleanup --prune=all?

Aplica cleanup con una política que elimina los archivos de caché sin importar su antigüedad, además de bloqueos obsoletos y versiones antiguas de fórmulas. Consulta la lista exacta con brew cleanup -n --prune=all y cuenta con volver a descargar artefactos más adelante.

Fuentes

Más guías sobre almacenamiento de desarrollo