Limpiar Homebrew con seguridad
Homebrew gestiona las versiones antiguas y las descargas en caché de forma más activa que antes. Si no desactivas la limpieza automática, las instalaciones y actualizaciones limpian las fórmulas que tocan, y Homebrew limpia periódicamente todas las fórmulas. Una instalación de larga vida puede acumular de todos modos descargas, versiones fijadas, artefactos de compilación y dependencias. Inspecciona los metadatos de Homebrew antes de borrar algo bajo su prefijo.
Qué conserva Homebrew
Se acumulan tres tipos de restos:
- Versiones antiguas. La limpieza suele eliminar las versiones reemplazadas, pero las versiones retenidas o actualizadas hace poco pueden permanecer un tiempo en el Cellar.
- Archivos descargados. Cada bottle y cada cask se guarda en la caché de Homebrew para no volver a descargarlos.
- Dependencias no usadas. La limpieza y la desinstalación actuales de Homebrew suelen eliminar las fórmulas que ya no hacen falta, salvo que hayas desactivado la eliminación automática. Instalaciones antiguas u operaciones interrumpidas pueden dejar algunas detrás.
Consulta el tamaño de la caché de descargas directamente:
brew --cache
du -sh "$(brew --cache)" 2>/dev/null
Cómo limpiarlo
El comando principal elimina versiones antiguas y recorta la caché de descargas en un solo paso:
brew cleanup
El manual actual de Homebrew
indica que la limpieza ordinaria elimina las versiones instaladas antiguas y las
descargas de más de 120 días por defecto. HOMEBREW_CLEANUP_MAX_AGE_DAYS puede
cambiar esa ventana. Usa -n para una simulación. El modo más profundo -s limpia
más descargas en caché y retiene las de las fórmulas y casks instalados en ese
momento:
brew cleanup -n
brew cleanup -s
La limpieza y la desinstalación de Homebrew ya eliminan por defecto las dependencias
de fórmulas no usadas. brew autoremove sigue siendo útil cuando quieres inspeccionar
esa decisión de dependencias directamente:
brew autoremove --dry-run
brew autoremove
brew list muestra los paquetes instalados y brew outdated las actualizaciones
pendientes. Usa brew --cellar, brew --caskroom y brew --cache para descubrir las
rutas en lugar de fijar a mano /opt/homebrew; las instalaciones de Intel y de Apple
silicon no son iguales.
Seguro por diseño
La limpieza de Homebrew es menos arriesgada que borrar directorios del Cellar a mano porque usa metadatos de versiones y dependencias. Aun así puede eliminar una versión de respaldo o un bottle en caché que esperabas usar sin conexión. Previsualiza tanto la limpieza como autoremove, y conserva de forma deliberada las versiones fijadas o críticas para tu flujo de trabajo.
Por debajo: el Cellar, el Caskroom y cómo decide la limpieza
Homebrew instala cada fórmula en un directorio versionado del Cellar que reporta
brew --cellar, y enlaza la versión activa en su prefijo. Al actualizar, coloca la
nueva versión junto a la antigua y después redirige los enlaces simbólicos. Los casks
guardan metadatos versionados bajo el Caskroom, mientras sus bundles de app suelen
vivir en /Applications. Las descargas usan la ruta que reporta brew --cache y se
retienen según la política de Homebrew. brew cleanup se basa en versiones
instaladas, retención y metadatos de dependencias, no en borrar sin más todo
directorio que no sea el actual. brew autoremove expone la parte solo de
dependencias como un comando aparte. Como ambos actúan sobre los registros de
Homebrew y no adivinan, son más seguros y más fáciles de explicar que borrar
carpetas a mano. Una previsualización sigue siendo útil en máquinas que dependen de
toolchains antiguos o de bottles sin conexión.
Dónde debe detenerse otra herramienta
Un mapa de disco o un limpiador puede revelar la caché de Homebrew y mostrar su tamaño. Mole puede mostrar esa categoría, pero los comandos propios de Homebrew siguen siendo la autoridad sobre las versiones del Cellar y las relaciones de dependencias. No hay que confundir el descubrimiento con la propiedad.
Un orden seguro de operaciones
Usa los comandos de rutas de Homebrew para medir sus almacenes, previsualiza
brew cleanup -n y ejecuta la limpieza ordinaria antes de plantearte -s.
Previsualiza brew autoremove por separado, porque responde a una pregunta de
dependencias, no de caché. No hace falta un calendario fijo de limpieza cuando la
limpieza automática funciona y la presión de disco es baja.