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.

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.
- Ejecuta brew --cache y mide la caché de descargas con du -sh "$(brew --cache)".
- Ejecuta brew cleanup -n y revisa cada descarga, cada versión antigua y cada dependencia propuesta para desinstalación automática.
- Contrasta las versiones que necesitas con brew list --versions y confirma que podrás volver a descargar lo necesario (red, proxy y disponibilidad).
- 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.
- 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ón | Dónde comprobar | Consecuencia |
|---|---|---|
| Distingue descargas, kegs antiguos y herramientas actuales | brew --cache | Homebrew guarda bottles, archivos fuente y descargas de casks normalmente en ~/Library/Caches/Homebrew; HOMEBREW_CACHE puede cambiar la ruta. |
| Previsualiza y revisa cada candidato | brew cleanup -n | Mide la caché activa con du -sh "$(brew --cache)" y ejecuta brew cleanup -n. |
| Elige el alcance: brew cleanup, -s o --prune=all | brew cleanup / brew cleanup -s / brew cleanup --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. |
| Separa autoremove, datos propios y verificación | brew 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