Ir al contenido principal

Uso de Homebrew con Level en macOS

How Level manages Homebrew on macOS using a dedicated system user, and how to run brew commands on Level-managed devices.

Introducción

Level gestiona Homebrew en macOS a través de un homebrew usuario del sistema en lugar de ejecutarlo como root o el usuario que ha iniciado sesión en ese momento. Esto sigue la propia recomendación de Homebrew y evita los problemas de permisos que surgen al ejecutar brew como root.

Si ejecuta acciones de automatización de Homebrew a través de Level y observa un comportamiento inesperado, o si está administrando un dispositivo macOS en el que Homebrew ya estaba instalado, este artículo explica qué hace Level y cómo trabajar con él.


El usuario homebrew

Level crea una cuenta de usuario homebrew automáticamente cuando cualquiera de estas acciones se ejecuta por primera vez en un dispositivo:

  • Instalar Homebrew

  • Instalar paquete de Homebrew (que instala Homebrew primero si aún no está presente)

El usuario homebrew es una cuenta del sistema (sin shell de inicio de sesión, sin directorio de inicio en /Users). Está configurado para sudo a través de un archivo de configuración en /etc/sudoers.d/homebrew.

ℹ️ NOTA: Si Homebrew ya estaba instalado en el dispositivo antes de que se ejecutara alguna acción de Level, Level reconfigura la instalación existente para transferir la propiedad al usuario homebrew Los paquetes instalados se conservan.


Ejecución de comandos de Homebrew

Dado que Homebrew es propiedad del usuario homebrew los comandos de brew deben ejecutarse como ese usuario para funcionar correctamente.

La forma completa del comando es:

sudo -E -H -u homebrew brew [COMMAND]

Ejemplo:

sudo -E -H -u homebrew brew --version

Uso del wrapper de Level

Level instala un script wrapper en /usr/local/bin/brew que ejecuta los comandos de brew como el usuario homebrew automáticamente.

Con el wrapper instalado, puede usar la sintaxis estándar de brew:

brew --version brew list brew upgrade

El wrapper gestiona el prefijo sudo -E -H -u homebrew automáticamente. Use esta forma al ejecutar comandos de brew en la terminal de Level o en scripts.

💡 CONSEJO: Utilice siempre la forma con wrapper en los scripts y automatizaciones de Level. Usar brew directamente (a través del wrapper) mantiene la sintaxis limpia y garantiza que se ejecute en el contexto de usuario correcto.

Banner de notificación

Al ejecutar brew a través del wrapper de Level, verá una nota similar a esta:

NOTE: Homebrew is managed by Level on this device: https://docs.level.io/...

Es solo informativo. Confirma que el wrapper de Level está activo y que el usuario homebrew está gestionando la instalación.


Preguntas frecuentes

  • ¿Por qué Level usa un usuario dedicado homebrew en lugar de ejecutarse como root? Homebrew desaconseja explícitamente ejecutarse como root porque instala software en rutas compartidas y el contexto de root genera problemas de permisos en todo el sistema. Un usuario dedicado con sudo es el patrón recomendado según la propia documentación de Homebrew.

  • Tenía Homebrew instalado antes de Level. ¿Qué cambió? Level transfirió la propiedad de la instalación de Homebrew al usuario homebrew Los paquetes instalados siguen ahí. Las futuras instalaciones y actualizaciones se realizarán a través del usuario homebrew Si estaba ejecutando comandos brew comandos como usted mismo o como root antes, use el wrapper o la forma sudo -E -H -u homebrew brew de ahora en adelante.

  • ¿Puedo seguir instalando paquetes manualmente con brew install? Sí, usar el wrapper en /usr/local/bin/brew o la forma completa sudo -E -H -u homebrew brew install La forma directa brew install como root o a otro usuario fallará o generará conflictos de propiedad.

  • ¿Qué ocurre si elimino el usuario homebrew ¿usuario? Las acciones de Homebrew de Level recrearán el usuario y reconfigurarán la propiedad la próxima vez que se ejecuten. No lo elimine si está usando Level para gestionar Homebrew.

  • ¿Puedo usar Homebrew con Level en Macs con Apple Silicon (M1/M2/M3)? Sí. El enfoque de usuario homebrew El enfoque de usuario y wrapper funciona tanto en Intel como en Apple Silicon. Tenga en cuenta que Homebrew se instala en rutas diferentes según la arquitectura (/usr/local vs /opt/homebrew), pero Level gestiona esto de forma transparente.

¿Ha quedado contestada tu pregunta?