12 Gestión de Homebrew
Homebrew es más que un simple instalador de paquetes - es un ecosistema completo que requiere mantenimiento y gestión adecuada. Esta sección cubre las mejores prácticas para mantener tu instalación de Homebrew funcionando de manera óptima.
12.1 Comandos esenciales de Homebrew
12.1.1 Instalación y desinstalación
# Instalar un paquete
brew install nombre-del-paquete
# Instalar una versión específica
brew install nombre-del-paquete@version
# Desinstalar un paquete
brew uninstall nombre-del-paquete
# Desinstalar completamente incluyendo dependencias no utilizadas
brew uninstall --zap nombre-del-paquete12.1.2 Búsqueda y exploración
# Buscar paquetes disponibles
brew search término-de-búsqueda
# Información detallada de un paquete
brew info nombre-del-paquete
# Listar todos los paquetes instalados
brew list
# Listar solo las fórmulas principales (sin dependencias)
brew leaves12.1.3 Mantenimiento y limpieza
# Actualizar Homebrew y todos los paquetes
brew update && brew upgrade
# Actualizar solo Homebrew (sin actualizar paquetes)
brew update
# Actualizar un paquete específico
brew upgrade nombre-del-paquete
# Limpiar cachés y archivos temporales
brew cleanup
# Limpiar archivos específicos de un paquete
brew cleanup nombre-del-paquete
# Ver qué se va a limpiar sin ejecutar
brew cleanup --dry-run12.1.4 Diagnóstico y resolución de problemas
# Verificar la instalación de Homebrew
brew doctor
# Verificar la integridad de los paquetes instalados
brew audit --installed
# Reinstalar un paquete problemático
brew reinstall nombre-del-paquete
# Ver dependencias de un paquete
brew deps nombre-del-paquete
# Ver qué paquetes dependen de uno específico
brew uses nombre-del-paquete --installed12.2 Gestión de fórmulas obsoletas
Con el tiempo, algunas fórmulas pueden volverse obsoletas o ser reemplazadas por alternativas mejores. Es importante mantener el sistema actualizado.
12.2.1 Identificar paquetes obsoletos
# Ver fórmulas obsoletas instaladas
brew list --versions | grep -E "(deprecated|obsolete)"
# Verificar el estado de un paquete específico
brew info nombre-del-paquete | grep -E "(deprecated|obsolete|unmaintained)"12.2.2 Proceso de migración recomendado
- Identificar la alternativa recomendada
- Instalar la nueva herramienta
- Probar la funcionalidad
- Migrar configuraciones si es necesario
- Desinstalar la versión obsoleta
- Limpiar archivos residuales
Ejemplo práctico:
# 1. Verificar estado actual
brew info herramienta-obsoleta
# 2. Instalar alternativa
brew install nueva-herramienta
# 3. Probar funcionalidad
nueva-herramienta --version
# 4. Desinstalar obsoleta
brew uninstall herramienta-obsoleta
# 5. Limpiar sistema
brew cleanup12.3 Configuración avanzada
12.3.1 Taps (repositorios adicionales)
# Agregar un tap
brew tap usuario/repositorio
# Listar taps instalados
brew tap
# Eliminar un tap
brew untap usuario/repositorio12.3.2 Servicios (daemons)
# Listar servicios disponibles
brew services list
# Iniciar un servicio
brew services start nombre-del-servicio
# Parar un servicio
brew services stop nombre-del-servicio
# Reiniciar un servicio
brew services restart nombre-del-servicio
# Limpiar servicios rotos
brew services cleanup12.3.3 Variables de entorno importantes
# Directorio de instalación de Homebrew
echo $HOMEBREW_PREFIX
# Directorio de cachés
echo $HOMEBREW_CACHE
# Configurar directorio de caché personalizado
export HOMEBREW_CACHE=/path/to/custom/cache12.4 Mejores prácticas
12.4.1 Mantenimiento regular
#!/bin/bash
# Script de mantenimiento semanal de Homebrew
echo "🔄 Actualizando Homebrew..."
brew update
echo "📦 Actualizando paquetes instalados..."
brew upgrade
echo "🧹 Limpiando archivos temporales..."
brew cleanup
echo "🩺 Verificando integridad del sistema..."
brew doctor
echo "✅ Mantenimiento completado"12.4.2 Backup de paquetes instalados
# Crear lista de paquetes instalados
brew leaves > ~/homebrew-packages.txt
# Restaurar desde backup
cat ~/homebrew-packages.txt | xargs brew install12.4.3 Configuración de aliases útiles
# Agregar a ~/.zshrc o ~/.bashrc
alias brewup='brew update && brew upgrade && brew cleanup'
alias brewdoc='brew doctor'
alias brewinfo='brew info'
alias brewsearch='brew search'
alias brewlist='brew leaves'12.5 Troubleshooting común
12.5.1 Problemas de permisos
# Reparar permisos
sudo chown -R $(whoami) $(brew --prefix)/*
# Reinstalar Homebrew si es necesario
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"12.5.2 Problemas de dependencias
# Forzar reinstalación de dependencias
brew reinstall $(brew deps nombre-del-paquete)
# Verificar dependencias rotas
brew missing12.5.3 Limpieza profunda
# Eliminar todas las versiones antiguas
brew cleanup --prune=all
# Eliminar caché completo
rm -rf $(brew --cache)
# Reconstruir base de datos
brew update-reset12.6 Monitoreo y estadísticas
12.6.1 Información del sistema
# Tamaño total de la instalación
du -sh $(brew --prefix)
# Número de paquetes instalados
brew list | wc -l
# Espacio usado por cachés
du -sh $(brew --cache)
# Últimas actualizaciones
brew log --oneline -1012.6.2 Análisis de uso
# Paquetes más grandes instalados
brew list --formula | xargs -n1 -I{} sh -c 'echo $(brew --prefix {}): $(du -sh $(brew --prefix {}) 2>/dev/null | cut -f1)' | sort -hr | head -10
# Dependencias más utilizadas
brew uses --installed --recursive | sort | uniq -c | sort -nr | head -10
Recordatorio importante
Siempre realiza un backup de tus configuraciones importantes antes de realizar cambios mayores en tu instalación de Homebrew. El comando brew doctor es tu mejor amigo para diagnosticar problemas.