Comment installer et utiliser Homebrew sous Linux
Installez Homebrew sous Linux, configurez le PATH, gérez vos paquets, partagez vos outils avec un Brewfile et découvrez la prise en charge Linux, WSL et Homebrew 7.0.
Pour installer Homebrew sous Linux, installez les outils de compilation de votre distribution, exécutez le script d’installation officiel de brew.sh, ajoutez brew shellenv au fichier de démarrage de votre shell, puis lancez brew doctor pour vérifier la configuration.
Ubuntu LTS fournit souvent une version de neovim ou de gh en retard d’un an sur celle de votre Mac, et recompiler depuis les sources à chaque fois devient vite fastidieux. Homebrew vous donne accès aux versions récentes dans un préfixe appartenant à votre utilisateur, et un seul Brewfile peut décrire vos deux machines. Ce guide couvre l’installation puis l’utilisation au quotidien, avant d’aborder les Brewfiles, les changements de Homebrew 7.0 sous Linux, WSL et la désinstallation.
Points clés
- Sous Linux, Homebrew s’installe dans
/home/linuxbrew/.linuxbrewet n’utilise que la glibc et le gcc de l’hôte, et uniquement s’ils sont suffisamment récents. - Debian et Ubuntu nécessitent
build-essential procps curl file gitavant l’installation. Fedora nécessite le groupedevelopment-toolsainsi queprocps-ng curl file. - Un Brewfile est du Ruby : ajouter
if OS.linux?ouif OS.mac?à une ligne permet d’utiliser un même fichier sur les deux plateformes. - Homebrew 7.0 remplace le sandbox Bubblewrap par la fonctionnalité Landlock du noyau : il n’y a donc rien de plus à installer.
- Sous Windows, Homebrew ne fonctionne qu’au sein de WSL 2. WSL 1 relève du Tier 3 et Windows natif n’est pas pris en charge.
Quand utiliser Homebrew plutôt qu’apt ou dnf sous Linux ?
Utilisez Homebrew pour les outils en ligne de commande dont vous voulez des versions plus récentes que celles fournies par votre distribution. Réservez apt, dnf ou pacman aux pilotes, aux bibliothèques système, aux démons serveur et à tout ce dont dépendent d’autres paquets système. La documentation Homebrew on Linux précise que Homebrew ne s’appuie sur l’hôte que pour la glibc et gcc, et uniquement lorsque ceux-ci sont suffisamment récents. Sur les distributions plus anciennes, il embarque ses propres copies des deux. Ainsi, les paquets Homebrew cohabitent avec vos paquets système sans les modifier.
| Utilisez Homebrew pour | Utilisez apt / dnf / pacman pour |
|---|---|
| node, gh, ripgrep, neovim dans leurs versions récentes | Pilotes GPU, modules du noyau |
| Des installations par utilisateur sous un préfixe unique | Les bibliothèques système partagées |
| Un Brewfile partagé avec votre Mac | Les paquets serveur gérés par systemd |
| Tout ce dont dépendent d’autres paquets système |
Prérequis et outils de compilation
Homebrew nécessite un compilateur C système fonctionnel ainsi que les outils de développement standard de votre distribution. Installez-les avec le gestionnaire de paquets de votre système avant de lancer l’installateur 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
Les prérequis de Homebrew on Linux exigent un compilateur C système fonctionnel ainsi que les outils de développement standard de votre distribution : installez-les donc en premier, même si Homebrew ajoutera plus tard son propre gcc.
La page Support Tiers définit le Tier 1 Linux comme la réunion de toutes les conditions suivantes :
- Ubuntu dans sa période de support standard, ou une image Docker Homebrew
- glibc système en version 2.39 ou ultérieure
- noyau en version 3.2 ou ultérieure
- ARM64, ou x86_64 avec SSSE3
- le préfixe par défaut ou un préfixe personnalisé compatible
- une installation à partir de bottles (binaires précompilés)
Les hôtes Debian, Fedora et Arch ne relèvent pas du Tier 1. Sur les systèmes dotés d’une glibc de 2.13 à 2.38 (Tier 2), Homebrew installe sa propre glibc. Les autres plateformes sont plus limitées : les cartes ARM 32 bits comme le Raspberry Pi ne disposent d’aucune bottle et relèvent du Tier 3, tandis que l’architecture x86 32 bits n’est pas prise en charge du tout.
Installer Homebrew et l’ajouter à votre PATH
Exécutez l’installateur de brew.sh avec votre utilisateur habituel, et non en tant que root :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
L’installateur met en place Homebrew dans /home/linuxbrew/.linuxbrew. Le préfixe par défaut offre la prise en charge des bottles la plus fiable. L’option --path de l’installateur accepte un préfixe personnalisé dont la longueur ne dépasse pas celle du préfixe par défaut (26 octets), mais les notes de version de Homebrew 7.0.0 indiquent que les préfixes non standard ne sont toujours pas pris en charge pour le moment : conservez donc le préfixe par défaut, sauf si vous avez une bonne raison de faire autrement.
Ensuite, chargez Homebrew dans le shell courant et rendez cette configuration persistante :
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
Si vous utilisez zsh, ajoutez plutôt la ligne à ~/.zshrc. La section consacrée à shellenv dans la documentation Linux couvre les deux shells.
Vérifiez ensuite l’installation :
brew doctor
brew install hello
brew doctor signale les problèmes de configuration. Sur une distribution ancienne, le premier brew install installe également la glibc et le gcc propres à Homebrew.
Installer des paquets et les maintenir à jour
Installez des paquets avec brew install, actualisez les métadonnées des paquets Homebrew avec brew update et mettez à niveau ce que vous avez installé avec brew upgrade :
brew install gh ripgrep neovim node
brew update # refresh Homebrew and package metadata
brew upgrade # upgrade installed packages
Ne faites jamais précéder une commande brew de sudo. Exécutez toujours brew avec le compte propriétaire du préfixe. L’installateur et l’étape d’installation des outils de compilation peuvent demander des privilèges élevés, mais les installations et mises à niveau courantes s’exécutent avec votre utilisateur. La page de manuel de brew répertorie toutes les sous-commandes et options.
Partager une même configuration Homebrew entre Linux et Mac avec un Brewfile
Un Brewfile liste les paquets qu’une machine doit posséder, et brew bundle installe ceux qui manquent. Un Brewfile étant évalué en tant que code Ruby, vous pouvez ajouter une condition de plateforme à n’importe quelle ligne :
# Brewfile
brew "git"
brew "gh"
brew "neovim"
brew "node"
if OS.mac?
cask "firefox"
end
brew "gnupg" if OS.mac?
if OS.linux? fonctionne de la même manière pour les lignes propres à Linux. La documentation des Brewfiles précise que brew bundle list n’affichera pas gnupg sous Linux lorsqu’il est conditionné par OS.mac?. Certains casks fonctionnent sous Linux, mais conservez une condition sur les casks propres à macOS.
Créer, appliquer et vérifier 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 enregistre dans un Brewfile les formules, casks, taps et autres types de paquets pris en charge qui sont installés. La ligne check || install est idempotente : vous pouvez donc l’intégrer sans risque à vos scripts d’amorçage. Ajoutez --verbose à check pour voir quelles entrées ne sont pas satisfaites.
Un Brewfile enregistre les paquets souhaités, pas leurs versions. Homebrew passe toujours à la dernière version publiée de chaque paquet : vous ne pouvez donc pas lui demander une version antérieure arbitraire, et brew bundle ne dispose d’aucun fichier de verrouillage. Pour empêcher brew bundle de mettre à niveau les dépendances installées, passez l’option --no-upgrade ou définissez HOMEBREW_BUNDLE_NO_UPGRADE=1. Cela ne fige pas les versions pour autant.
Soyez prudent avec brew bundle cleanup --force : cette commande désinstalle tout ce qui ne figure pas dans le Brewfile.
Qu’est-ce que Homebrew 7.0 change sous Linux ?
Homebrew 7.0, publié le 13 septembre 2026, utilise la fonctionnalité Landlock du noyau pour son sandbox Linux. Les notes de version 7.0.0 expliquent que la version 7.0.0 abandonne le sandbox Bubblewrap introduit dans Homebrew 6.0.0 au profit de Landlock, qui ne nécessite ni paquet supplémentaire ni permissions Docker élevées. Landlock est une fonctionnalité du noyau qui permet à un processus non privilégié de restreindre ce à quoi il peut accéder.
| Changement | Action à mener |
|---|---|
| Landlock remplace Bubblewrap | Rien à installer |
| Noyau sans Landlock | Les compilations s’exécutent hors sandbox et brew doctor affiche un avertissement |
HOMEBREW_SANDBOX_LINUX | Désactivée. Supprimez-la de votre fichier rc du shell |
HOMEBREW_NO_SANDBOX_LINUX | Dépréciée et dont la suppression est prévue le 11 décembre 2027, sans option de désactivation de remplacement |
| Linux ARM64 | Tier 1 depuis Homebrew 5.0.0 |
D’après les notes de version, Homebrew fonctionne avec l’ABI Landlock 2, disponible à partir de Linux 6.1, et affiche un avertissement si le noyau ne peut pas appliquer de restrictions réseau. Pour vérifier votre machine :
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
Homebrew fonctionne-t-il sous Windows ?
Sous Windows, Homebrew ne fonctionne que via WSL 2. WSL 1 est une plateforme Tier 3 et Windows natif n’est pas pris en charge. Sous WSL 1, la documentation Linux avertit que certains exécutables installés par Homebrew peuvent se comporter de façon anormale en raison de problèmes connus de WSL 1, et recommande de passer à WSL 2. Installez une distribution à l’aide du guide WSL de Microsoft, puis suivez les étapes Linux ci-dessus à l’intérieur de celle-ci.
Comment désinstaller Homebrew ?
Pour supprimer Homebrew, utilisez le script de désinstallation du dépôt Homebrew/install. Son README indique la commande et les options à jour.
En résumé, la mise en place de Homebrew sous Linux se fait en quatre étapes : installer les outils de compilation, exécuter le script de brew.sh, ajouter shellenv au fichier rc de votre shell et lancer brew doctor. Ensuite, exécutez brew bundle dump sur votre Mac, ajoutez if OS.mac? aux lignes propres à macOS, puis lancez brew bundle install sur votre machine Linux afin que les deux disposent des mêmes outils.
FAQ
Peut-on installer Homebrew sous Linux sans sudo ni accès root ?
Oui, à condition que le préfixe soit accessible en écriture par votre compte. L'installateur shell a besoin d'un accès en écriture à son préfixe : demandez à un administrateur de créer /home/linuxbrew/.linuxbrew et de vous en attribuer la propriété, ou utilisez l'option --path de l'installateur pour choisir un préfixe personnalisé compatible de 26 octets au maximum. Une fois cette configuration en place, l'installation et la mise à jour des formules ne nécessitent jamais sudo.
Homebrew fournit-il toujours des bottles pour Ubuntu 22.04 ?
Ubuntu 22.04 est livré avec la glibc 2.35 : il s'agit donc d'une plateforme Tier 2 depuis que Homebrew 6.0.0 a relevé la base Linux à la glibc 2.39. Homebrew ne compile plus de nouvelles bottles pour ces systèmes, installe sa propre glibc, et brew doctor affiche un avertissement de prise en charge. Pour bénéficier du support Tier 1, passez à Ubuntu 24.04 ou utilisez l'image Docker ghcr.io/homebrew/brew.
Peut-on installer des casks Homebrew sous Linux ?
Certains casks fonctionnent. Homebrew 4.5.0 a introduit une prise en charge préliminaire des casks sous Linux, qui concerne principalement les polices comme font-fira-code et les casks fournissant des binaires Linux. Homebrew 6.0.0 a ajouté la prise en charge des AppImage. Les casks qui ne fournissent qu'une application macOS ne s'installeront pas sous Linux : dans un Brewfile partagé, conditionnez donc ces lignes avec if OS.mac?.
Quelle image Docker utiliser pour exécuter Homebrew sous Linux en CI ?
Utilisez ghcr.io/homebrew/brew. Homebrew 7.0.0 a supprimé l'image ghcr.io/homebrew/ubuntu22.04 et désigne ghcr.io/homebrew/brew comme son remplaçant. Les images Docker fournies par Homebrew constituent une configuration Linux Tier 1 selon la page Support Tiers, ce qui en fait un choix fiable pour les builds CI qui ont besoin de bottles. Si un pipeline fait encore référence à l'image ubuntu22.04, remplacez-la par ghcr.io/homebrew/brew.