Para ejecutar una versión diferente de una fórmula de Homebrew instalada como un servicio en segundo plano de macOS, detenga el servicio de la fórmula actual, inicie la fórmula con versión por su propio nombre y luego confirme qué servicio se está ejecutando. Por ejemplo, si tanto postgresql@16 como postgresql@17 están instalados, use brew services stop postgresql@16 seguido de brew services start postgresql@17. El gestor de servicios de Homebrew utiliza launchd de macOS; sin sudo, registra los servicios para que se ejecuten al iniciar sesión. Manual brew(1) de Homebrew
1. Busque los nombres de las fórmulas instaladas
Utilice los propios registros de Homebrew para comprobar qué está instalado y cómo se escriben los nombres de las fórmulas:
brew list --versions
brew info postgresql@16
brew info postgresql@17
Sustituya los ejemplos por los nombres de las fórmulas de su servicio. Una fórmula con versión es una fórmula de Homebrew independiente, comúnmente escrita con el sufijo @; no es un comando para seleccionar una versión histórica arbitraria de una fórmula. Las fórmulas con versión disponibles dependen de lo que Homebrew proporcione actualmente. Homebrew también describe las fórmulas con versión como un conjunto limitado, y algunas pueden eliminarse con el tiempo. Versiones de fórmulas de Homebrew
Antes de cambiar, inspeccione la salida de brew info de cada fórmula para ver los detalles de su servicio y cualquier nota de migración. Un nuevo nombre de fórmula no garantiza que el servicio pueda reutilizar el directorio de datos o la configuración de la versión anterior. El software de bases de datos y servidores puede tener requisitos específicos de actualización o degradación de versión de la aplicación; siga el proceso de migración documentado de dicho software antes de iniciar la otra versión sobre los datos existentes.
2. Detenga el servicio de una fórmula e inicie el de la otra
Ejecute los comandos del servicio sin sudo para un servicio que se inicie al iniciar sesión:
brew services stop postgresql@16
brew services start postgresql@17
brew services list
Utilice los identificadores reales de las fórmulas instaladas en lugar de los ejemplos de PostgreSQL. brew services stop y start toman el nombre de la fórmula, por lo que esto selecciona el servicio asociado con la fórmula de destino. El comando list le permite inspeccionar el estado del servicio reportado por Homebrew posteriormente. El manual documenta la gestión de servicios a través de launchd y señala que la configuración sin sudo utiliza ~/Library/LaunchAgents, por lo que su alcance se limita al inicio de sesión del usuario actual. Manual brew(1) de Homebrew
Si la versión de destino está instalada pero su servicio no se está ejecutando, inícielo directamente. Si se desea reiniciar la misma fórmula, brew services restart FORMULA está documentado; al cambiar de versión, detener explícitamente la fórmula anterior e iniciar la nueva deja clara la transición prevista. No use brew services restart --all para cambiar un solo servicio porque afecta a todos los servicios de Homebrew.
3. Comprenda la diferencia entre la selección de servicios y de comandos
Iniciar una fórmula con versión como servicio no convierte necesariamente sus herramientas de línea de comandos en las predeterminadas en Terminal. Homebrew instala cada fórmula en un keg versionado de Cellar. Vincular una fórmula crea enlaces simbólicos en el prefijo compartido de Homebrew, mientras que algunas fórmulas con versión están marcadas como keg-only y no se vinculan allí de forma predeterminada. Manual brew(1) de Homebrew, Preguntas frecuentes de Homebrew: ¿Qué significa “keg-only”?
Consulte brew info FORMULA para ver si la fórmula es keg-only y revisar cualquier indicación proporcionada sobre el PATH. Si solo necesita que el servicio en segundo plano utilice la otra versión, gestione su servicio por el nombre de la fórmula; no asuma que es obligatorio cambiar los enlaces. Evite brew link --force como un paso genérico para cambiar de versión: Homebrew advierte que forzar una fórmula keg-only en directorios compartidos puede crear conflictos. Orientación sobre dependencias keg-only de Homebrew
4. Si el servicio de destino no se inicia
Primero revise brew services list y la salida de brew info de la fórmula de destino. Confirme que el servicio anterior se haya detenido y que la nueva fórmula realmente proporcione una definición de servicio; el soporte de servicios de Homebrew depende de que la fórmula tenga una configuración de servicio. Libro de recetas de fórmulas de Homebrew
A continuación, revise los registros y la configuración de la propia aplicación. Un servicio puede fallar incluso cuando la fórmula está instalada; por ejemplo, porque su configuración apunta a un directorio de datos diferente, el puerto ya está en uso o una versión no puede abrir los datos existentes. Estas son posibilidades a nivel de aplicación, no soluciones garantizadas por Homebrew; consulte la documentación oficial de la aplicación antes de modificar o eliminar datos.
Use sudo brew services únicamente cuando necesite intencionadamente un servicio para todo el sistema que se inicie al arrancar el equipo. Homebrew documenta que este modo opera en /Library/LaunchDaemons, mientras que el servicio de usuario predeterminado se inicia al iniciar sesión. La mayoría de los servicios de desarrollo personal deben gestionarse bajo la cuenta de usuario que posee sus archivos. Manual brew(1) de Homebrew
Por lo tanto, un cambio exitoso requiere dos comprobaciones: que Homebrew informe que la fórmula prevista se está ejecutando y que la aplicación en sí responda como se espera. El estado del servicio por sí solo no valida la compatibilidad de los datos ni demuestra que los clientes de línea de comandos ahora apunten a esa versión de la fórmula.
Fuentes
Documentación de Homebrew: brew(1) – The Package Manager for Everywhere — Homebrew
Documentación de Homebrew: Formulae Versions — Homebrew
Documentación de Homebrew: FAQ — Homebrew
Documentación de Homebrew: Building Software with Homebrew Keg-Only Dependencies — Homebrew
Documentación de Homebrew: Formula Cookbook — Homebrew