Cómo instalar y usar Homebrew en Linux
Instala Homebrew en Linux, configura el PATH, gestiona paquetes, comparte herramientas con un Brewfile y consulta la compatibilidad con Linux, WSL y Homebrew 7.0.
Para instalar Homebrew en Linux, instala las herramientas de compilación de tu distro, ejecuta el script de instalación oficial de brew.sh, añade brew shellenv al archivo de inicio de tu shell y, por último, ejecuta brew doctor para comprobar la configuración.
Ubuntu LTS suele incluir una versión de neovim o gh que va un año por detrás de la que tienes en tu Mac, y compilar desde el código fuente cada vez acaba cansando rápido. Homebrew te ofrece versiones actuales en un prefijo propiedad de tu usuario, y un único Brewfile puede describir ambas máquinas. Esta guía va desde la instalación hasta el uso diario y, después, aborda los Brewfiles, los cambios para Linux en Homebrew 7.0, WSL y la desinstalación.
Puntos clave
- Homebrew en Linux se instala en
/home/linuxbrew/.linuxbrewy solo utiliza glibc y gcc del sistema anfitrión, y únicamente si son lo bastante recientes. - Debian/Ubuntu necesitan
build-essential procps curl file gitantes de la instalación. Fedora necesita el grupodevelopment-toolsademás deprocps-ng curl file. - Un Brewfile es código Ruby, así que añadir
if OS.linux?oif OS.mac?a una línea permite que un solo archivo sirva para ambas plataformas. - Homebrew 7.0 sustituye el sandbox de Bubblewrap por la funcionalidad Landlock del kernel, por lo que no hay que instalar nada adicional.
- En Windows, Homebrew solo se ejecuta dentro de WSL 2. WSL 1 es Tier 3 y Windows nativo no está soportado.
¿Cuándo conviene usar Homebrew en Linux en lugar de apt o dnf?
Usa Homebrew para herramientas de línea de comandos de las que quieras versiones más recientes que las que ofrece tu distribución. Reserva apt, dnf o pacman para drivers, bibliotecas del sistema, demonios de servidor y cualquier cosa de la que dependan otros paquetes del sistema. La documentación de Homebrew en Linux explica que Homebrew depende del sistema anfitrión solo para glibc y gcc, y únicamente cuando estos son lo bastante recientes. En distribuciones más antiguas, incorpora sus propias copias de ambos. Gracias a esto, los paquetes de Homebrew conviven con los paquetes del sistema sin modificarlos.
| Usa Homebrew para | Usa apt / dnf / pacman para |
|---|---|
| node, gh, ripgrep, neovim en versiones actuales | Drivers de GPU, módulos del kernel |
| Instalaciones por usuario bajo un único prefijo | Bibliotecas compartidas del sistema |
| Un Brewfile compartido con tu Mac | Paquetes de servidor gestionados por systemd |
| Cualquier cosa de la que dependan otros paquetes del sistema |
Requisitos y herramientas de compilación
Homebrew necesita un compilador de C del sistema que funcione y las herramientas de desarrollo estándar de tu distro. Instálalas con el gestor de paquetes del sistema antes de ejecutar el instalador de Homebrew:
# Debian / Ubuntu
sudo apt-get install build-essential procps curl file git
# Fedora
sudo dnf group install development-tools
sudo dnf install procps-ng curl file
# Arch Linux
sudo pacman -S base-devel procps-ng curl file git
Los requisitos de Homebrew en Linux exigen un compilador de C del sistema funcional y las herramientas de desarrollo estándar de tu distribución, así que instálalos primero aunque Homebrew vaya a añadir más tarde su propio gcc.
Support Tiers define el Tier 1 de Linux como el cumplimiento de todo lo siguiente:
- Ubuntu dentro de su periodo de soporte estándar, o una imagen Docker de Homebrew
- glibc del sistema 2.39 o superior
- kernel 3.2 o superior
- ARM64, o x86_64 con SSSE3
- el prefijo predeterminado o un prefijo personalizado compatible
- instalación a partir de bottles
Los sistemas Debian, Fedora y Arch no son Tier 1. En sistemas con glibc entre 2.13 y 2.38 (Tier 2), Homebrew instala su propia glibc. Otras plataformas tienen más limitaciones: las placas ARM de 32 bits, como la Raspberry Pi, no reciben bottles y se sitúan en el Tier 3, y x86 de 32 bits no está soportado en absoluto.
Instalar Homebrew y añadirlo al PATH
Ejecuta el instalador de brew.sh con tu usuario habitual, no como root:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
El instalador configura Homebrew en /home/linuxbrew/.linuxbrew. El prefijo predeterminado es el que ofrece el soporte de bottles más fiable. La opción --path del instalador admite un prefijo personalizado que no supere la longitud del predeterminado (26 bytes), pero las notas de la versión 7.0.0 de Homebrew siguen describiendo los prefijos no predeterminados como no soportados por ahora, así que quédate con el predeterminado salvo que tengas un motivo para no hacerlo.
A continuación, carga Homebrew en la shell actual y haz que el cambio sea persistente:
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
Si usas zsh, añade la línea a ~/.zshrc en su lugar. La sección sobre la configuración de shellenv en la página de documentación de Linux cubre ambas shells.
Después, comprueba la instalación:
brew doctor
brew install hello
brew doctor informa de problemas de configuración. En una distribución antigua, el primer brew install también instala la glibc y el gcc propios de Homebrew.
Instalar paquetes y mantenerlos actualizados
Instala paquetes con brew install, actualiza los metadatos de paquetes de Homebrew con brew update y actualiza lo que tengas instalado con brew upgrade:
brew install gh ripgrep neovim node
brew update # refresh Homebrew and package metadata
brew upgrade # upgrade installed packages
Nunca antepongas sudo a un comando brew. Ejecuta siempre brew con la cuenta propietaria del prefijo. El instalador y el paso de las herramientas de compilación pueden pedir privilegios elevados, pero las instalaciones y actualizaciones del día a día se ejecutan con tu usuario. La página de manual de brew enumera todos los subcomandos y opciones.
Comparte una misma configuración de Homebrew entre Linux y Mac con un Brewfile
Un Brewfile enumera los paquetes que debe tener una máquina, y brew bundle instala los que falten. Un Brewfile se evalúa como Ruby, así que puedes añadir una condición de plataforma a cualquier línea:
# Brewfile
brew "git"
brew "gh"
brew "neovim"
brew "node"
if OS.mac?
cask "firefox"
end
brew "gnupg" if OS.mac?
if OS.linux? funciona igual para las líneas exclusivas de Linux. La documentación de Brewfile indica que brew bundle list no mostrará gnupg en Linux cuando esté condicionado con OS.mac?. Algunos casks funcionan en Linux, pero mantén condicionados los casks exclusivos de macOS.
Crea, aplica y comprueba un Brewfile:
brew bundle dump --file=~/dotfiles/Brewfile --force # snapshot what's installed
brew bundle install --file=~/dotfiles/Brewfile # install/upgrade to match
brew bundle check --file=~/dotfiles/Brewfile || brew bundle install --file=~/dotfiles/Brewfile
brew bundle dump registra en un Brewfile las formulae, casks, taps y otros tipos de paquetes soportados que estén instalados. La línea check || install es idempotente, por lo que es seguro incluirla en scripts de bootstrap. Añade --verbose a check para ver qué entradas no se cumplen.
Un Brewfile registra qué paquetes quieres, no qué versiones. Homebrew siempre avanza hacia la última versión de cada paquete, así que no puedes pedirle una versión antigua arbitraria, y brew bundle no tiene archivo de bloqueo (lock file). Para evitar que brew bundle actualice las dependencias ya instaladas, usa --no-upgrade o define HOMEBREW_BUNDLE_NO_UPGRADE=1. Esto no fija versiones.
Ten cuidado con brew bundle cleanup --force: desinstala todo lo que no figure en el Brewfile.
¿Qué cambia Homebrew 7.0 en Linux?
Homebrew 7.0, publicado el 13 de septiembre de 2026, utiliza la funcionalidad Landlock del kernel para su sandbox en Linux. Las notas de la versión 7.0.0 explican que la 7.0.0 abandona el sandbox de Bubblewrap añadido en Homebrew 6.0.0 en favor de Landlock, que no requiere paquetes adicionales ni permisos elevados en Docker. Landlock es una funcionalidad del kernel que permite a un proceso sin privilegios restringir aquello a lo que puede acceder.
| Cambio | Qué hacer |
|---|---|
| Landlock sustituye a Bubblewrap | No hay que instalar nada |
| El kernel no tiene Landlock | Las compilaciones se ejecutan sin sandbox y brew doctor muestra un aviso |
HOMEBREW_SANDBOX_LINUX | Deshabilitada. Elimínala del archivo rc de tu shell |
HOMEBREW_NO_SANDBOX_LINUX | Obsoleta y con eliminación prevista el 2027-12-11, sin ninguna alternativa para desactivar el sandbox |
| Linux ARM64 | Tier 1 desde Homebrew 5.0.0 |
Las notas de la versión indican que Homebrew funciona con la ABI 2 de Landlock, disponible en Linux 6.1, y muestra una advertencia si el kernel no puede aplicar restricciones de red. Para comprobar tu máquina:
uname -r # kernel version
brew config # 7.0 reports the Landlock ABI here
brew doctor # shows an advisory if the sandbox is unavailable
grep -n HOMEBREW_SANDBOX_LINUX ~/.bashrc ~/.zshrc
¿Funciona Homebrew en Windows?
Homebrew solo se ejecuta en Windows a través de WSL 2. WSL 1 es una plataforma Tier 3 y Windows nativo no está soportado. En WSL 1, la documentación de Linux advierte que algunos ejecutables instalados por Homebrew pueden comportarse de forma incorrecta debido a problemas conocidos de WSL 1, y recomienda pasar a WSL 2. Configura una distro con la guía de WSL de Microsoft y, a continuación, sigue dentro de ella los pasos para Linux descritos anteriormente.
¿Cómo se desinstala Homebrew?
Para eliminar Homebrew, usa el script de desinstalación del repositorio Homebrew/install. Su README incluye el comando y las opciones actuales.
En resumen, configurar Homebrew en Linux requiere cuatro pasos: instalar las herramientas de compilación, ejecutar el script de brew.sh, añadir shellenv al archivo rc de tu shell y ejecutar brew doctor. Después, ejecuta brew bundle dump en tu Mac, añade if OS.mac? a las líneas exclusivas de macOS y ejecuta brew bundle install en tu máquina Linux para que ambas tengan las mismas herramientas.
Preguntas frecuentes
¿Puedo instalar Homebrew en Linux sin sudo ni acceso root?
Sí, siempre que tu cuenta tenga permisos de escritura sobre el prefijo. El instalador de shell necesita acceso de escritura a su prefijo, así que pide a un administrador que cree /home/linuxbrew/.linuxbrew y te asigne su propiedad, o usa la opción --path del instalador para elegir un prefijo personalizado compatible de 26 bytes o menos. Una vez configurado, instalar y actualizar formulae nunca requiere sudo.
¿Sigue ofreciendo Homebrew bottles para Ubuntu 22.04?
Ubuntu 22.04 incluye glibc 2.35, por lo que es una plataforma Tier 2 desde que Homebrew 6.0.0 elevó la base mínima de Linux a glibc 2.39. Homebrew ya no compila nuevos bottles para estos sistemas, instala su propia glibc y brew doctor muestra una advertencia de soporte. Para tener soporte Tier 1, actualiza a Ubuntu 24.04 o usa la imagen Docker ghcr.io/homebrew/brew.
¿Puedo instalar casks de Homebrew en Linux?
Algunos casks funcionan. Homebrew 4.5.0 añadió soporte preliminar de casks para Linux, que abarca principalmente fuentes como font-fira-code y casks que distribuyen binarios para Linux. Homebrew 6.0.0 añadió soporte para AppImage. Los casks que solo distribuyen una aplicación de macOS no se instalarán en Linux, así que en un Brewfile compartido condiciona esas líneas con if OS.mac?.
¿Qué imagen Docker debo usar para ejecutar Homebrew en Linux en CI?
Usa ghcr.io/homebrew/brew. Homebrew 7.0.0 eliminó la imagen ghcr.io/homebrew/ubuntu22.04 e indica ghcr.io/homebrew/brew como su sustituta. Según Support Tiers, las imágenes Docker proporcionadas por Homebrew se consideran una configuración de Linux Tier 1, lo que las convierte en una opción fiable para compilaciones de CI que necesitan bottles. Si algún pipeline todavía hace referencia a la imagen ubuntu22.04, cámbiala a ghcr.io/homebrew/brew.