12k
All articles

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.

OpenReplay Team
OpenReplay Team
Comment installer et utiliser Homebrew sous Linux

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/.linuxbrew et 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 git avant l’installation. Fedora nécessite le groupe development-tools ainsi que procps-ng curl file.
  • Un Brewfile est du Ruby : ajouter if OS.linux? ou if 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 pourUtilisez apt / dnf / pacman pour
node, gh, ripgrep, neovim dans leurs versions récentesPilotes GPU, modules du noyau
Des installations par utilisateur sous un préfixe uniqueLes bibliothèques système partagées
Un Brewfile partagé avec votre MacLes 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.

ChangementAction à mener
Landlock remplace BubblewrapRien à installer
Noyau sans LandlockLes compilations s’exécutent hors sandbox et brew doctor affiche un avertissement
HOMEBREW_SANDBOX_LINUXDésactivée. Supprimez-la de votre fichier rc du shell
HOMEBREW_NO_SANDBOX_LINUXDépréciée et dont la suppression est prévue le 11 décembre 2027, sans option de désactivation de remplacement
Linux ARM64Tier 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.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — self-hosted, with full data ownership.

Star on GitHub

We use cookies to improve your experience. By using our site, you accept cookies.