Logo de PruneoPruneo

brew cleanup en Mac: libera espacio de la caché y versiones viejas

En resumen

Ejecuta brew cleanup -n para ver qué borraría Homebrew y luego brew cleanup para quitar las versiones viejas de tus fórmulas y las descargas de más de 120 días. Con brew cleanup --prune=all vacías toda la caché de descargas y con brew autoremove desinstalas dependencias que ya nadie necesita.

Si usas Homebrew a diario, con el tiempo junta archivos que nunca ves: paquetes precompilados (bottles) e instaladores de casks descargados, versiones viejas de fórmulas que actualizaste y dependencias que quedaron sueltas cuando desinstalaste la herramienta que las pedía. Homebrew trae sus propios comandos para limpiar todo eso, y son la forma más segura de hacerlo. En esta guía verás qué hace cada uno, qué borra y qué pierdes.

Todos los comandos están documentados en el manual oficial de Homebrew y en sus preguntas frecuentes.

Qué ocupa espacio en Homebrew

Hay tres sitios principales:

  1. La caché de descargas. Aquí se guarda cada bottle y cada instalador de cask (.dmg, .pkg, .zip) que Homebrew descarga. En macOS la ruta por defecto es ~/Library/Caches/Homebrew, según la entrada HOMEBREW_CACHE del manual.
  2. Versiones viejas en el Cellar. Al actualizar una fórmula, la versión nueva se instala junto a la anterior. Homebrew suele borrar la vieja, pero si la limpieza automática está apagada, las versiones se acumulan.
  3. Dependencias huérfanas. Si instalas ffmpeg y después lo desinstalas, las bibliotecas que trajo pueden seguir instaladas aunque nada las use.

Paso 1: mide antes de borrar

Antes de quitar nada, mira cuánto ocupa cada parte. Estos comandos solo leen:

brew --cache
du -sh "$(brew --cache)"
du -sh "$(brew --cellar)"

brew --cache muestra la carpeta de la caché de descargas y du -sh te dice su tamaño. El segundo du mide el Cellar, donde viven las fórmulas instaladas. Casi todo lo que hay en el Cellar es software que usas, así que no lo borres a mano.

Para ver qué fórmulas tienen más de una versión instalada:

brew list --versions

Si una línea muestra dos o más números de versión, hay versiones antiguas todavía en el disco.

Paso 2: simula con brew cleanup -n

brew cleanup tiene un modo de prueba. El manual explica que -n (o --dry-run) muestra lo que se borraría sin borrar nada.

brew cleanup -n

Verás una lista de archivos y carpetas y, al final, una estimación del espacio que liberaría. Léela: si aparece una versión que todavía necesitas (por ejemplo, un python@ o node@ antiguo del que depende un proyecto), detente y protégela (lo explicamos más abajo, en la limpieza automática).

Paso 3: ejecuta brew cleanup

brew cleanup

Según el manual, brew cleanup elimina los archivos de bloqueo obsoletos y las descargas antiguas de todas las fórmulas y casks, y quita las versiones viejas de las fórmulas instaladas. Por defecto borra las descargas de más de 120 días; ese límite se cambia con HOMEBREW_CLEANUP_MAX_AGE_DAYS.

También puedes limpiar una sola fórmula o cask:

brew cleanup wget

Paso 4: vacía toda la caché con –prune=all

El brew cleanup normal respeta las descargas recientes. Si quieres vaciar la caché entera, usa --prune. El manual indica que borra los archivos de caché con más de los días que indiques y que, para borrarlo todo, se usa --prune=all.

Primero simula:

brew cleanup -n --prune=all
brew cleanup --prune=all

Existe además -s (--scrub), que limpia la caché incluidas las descargas de las versiones más recientes. Para casi todo el mundo basta con --prune=all.

Paso 5: quita dependencias sin uso con brew autoremove

brew autoremove desinstala las fórmulas que solo se instalaron como dependencia de otra y que ya no hacen falta (manual). También tiene modo de prueba:

brew autoremove -n

Revisa la lista. Si ves una fórmula que usas por tu cuenta (por ejemplo, empezaste a usar openssl o python directamente después de que otra herramienta los instalara), añádela a HOMEBREW_NO_CLEANUP_FORMULAE (lo verás más abajo): según el manual, Homebrew se niega a limpiar o a desinstalar con autoremove cualquier fórmula de esa lista.

brew autoremove

Cómo funciona la limpieza automática

Homebrew ya limpia por su cuenta, y por eso muchas Mac nunca acumulan demasiado. El manual explica que después de brew install, brew upgrade y brew reinstall, salvo que esté definida HOMEBREW_NO_INSTALL_CLEANUP, se ejecuta brew cleanup para las fórmulas y casks instalados o, cada 30 días, para todos los paquetes. Esos 30 días vienen de HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS, que puedes cambiar.

Las preguntas frecuentes añaden que Homebrew desinstala automáticamente las versiones viejas de una fórmula cuando la actualizas con brew upgrade.

Variables útiles, todas en la sección de entorno del manual:

Variable Qué hace
HOMEBREW_NO_INSTALL_CLEANUP Apaga la limpieza automática después de install, upgrade y reinstall
HOMEBREW_NO_CLEANUP_FORMULAE Lista separada por comas de fórmulas que Homebrew nunca limpia ni quita con autoremove
HOMEBREW_CLEANUP_MAX_AGE_DAYS Antigüedad máxima de los archivos en caché (por defecto 120)
HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS Días entre limpiezas completas (por defecto 30)
HOMEBREW_NO_AUTOREMOVE Evita que brew cleanup y brew uninstall quiten solas las dependencias sin uso
HOMEBREW_CACHE Lleva la caché de descargas a otra carpeta

Cuándo conservar versiones viejas

Si un proyecto necesita una versión exacta, apagar la limpieza para todo suele ser demasiado. Es mejor proteger solo esa fórmula. Añade esta línea a tu ~/.zprofile (o al archivo que lea tu shell):

export HOMEBREW_NO_CLEANUP_FORMULAE="postgresql@16,node@20"

Cambia los nombres por las fórmulas que quieras proteger. Si defines HOMEBREW_NO_INSTALL_CLEANUP=1, recuerda que el espacio irá creciendo hasta que ejecutes brew cleanup tú mismo.

Por qué puedes tener muchas versiones viejas

Si brew list --versions muestra muchas versiones, comprueba si HOMEBREW_NO_INSTALL_CLEANUP está en tus archivos de configuración:

grep -n HOMEBREW_ ~/.zprofile ~/.zshrc 2>/dev/null

Es habitual copiarla de un tutorial para que las instalaciones vayan más rápido y luego olvidarse de ella.

Una rutina segura

Una vez al mes, o cuando el disco se esté llenando:

  1. du -sh "$(brew --cache)" para ver el tamaño.
  2. brew cleanup -n y lee la lista.
  3. brew cleanup.
  4. brew autoremove -n, lee la lista y, si todo cuadra, brew autoremove.
  5. Solo si necesitas más espacio: brew cleanup --prune=all.

No borres a mano carpetas del Cellar ni del prefijo de Homebrew (/opt/homebrew en Apple Silicon, según la página de instalación; brew --prefix te muestra el tuyo). Homebrew guarda enlaces y registros de cada paquete, y borrar archivos directamente puede dejar enlaces rotos. Usa brew uninstall.

Homebrew rara vez es lo que más ocupa en la Mac de un desarrollador. Si sigues necesitando espacio, revisa DerivedData de Xcode, Docker y las carpetas node_modules, que suelen crecer mucho más rápido.

Resumen

Para ver el panorama completo de tu disco, lee cómo liberar espacio en Mac o descarga Pruneo y míralo en segundos.

Preguntas frecuentes

¿Es seguro ejecutar brew cleanup?

Sí, en la mayoría de los casos. Borra versiones viejas de las fórmulas instaladas y descargas antiguas, no la versión que estás usando. Lo único que pierdes es la posibilidad de volver a una versión anterior sin reinstalarla.

¿Dónde está la caché de Homebrew en Mac?

Por defecto en ~/Library/Caches/Homebrew. Ejecuta brew --cache para ver la ruta exacta en tu Mac, porque se puede cambiar con la variable HOMEBREW_CACHE.

¿Homebrew se limpia solo?

Sí. Después de brew install, brew upgrade o brew reinstall limpia los paquetes afectados, y cada 30 días limpia todos. Puedes desactivarlo con HOMEBREW_NO_INSTALL_CLEANUP.

¿Qué diferencia hay entre brew cleanup y brew autoremove?

brew cleanup borra versiones viejas y descargas guardadas en caché. brew autoremove desinstala fórmulas que solo se instalaron como dependencia y que ya ninguna fórmula instalada necesita.

Pruébalo con Pruneo

Gratis para macOS 14 o superior. Lo que limpia se puede recuperar desde la cuarentena.

Pruneo es para Mac

Envíate el link y descárgalo en tu Mac. Es gratis y sin cuenta.

Enviármelo por mail
Descargar igual