Aller au contenu
Outils medium

Homebrew (brew) : installer des logiciels sur macOS et Linux

12 min de lecture

logo Homebrew

Lorsque vous lisez les guides de ce site, vous avez sûrement remarqué que l’installation d’un logiciel sur macOS en ligne de commande se fait avec brew. Homebrew, le gestionnaire de paquets, simplifie l’installation, la mise à jour et la gestion des logiciels, aussi bien sur macOS que sur Linux.

Sur macOS, il comble un manque important : Apple ne propose pas de gestionnaire de paquets natif, contrairement à Linux avec APT (Debian/Ubuntu) ou DNF (Fedora). Sur Linux, bien qu’il existe déjà des alternatives comme asdf-vm, Homebrew se distingue par sa simplicité et sa flexibilité.

Avec une simple commande, vous pouvez installer presque n’importe quel logiciel, de la dernière version de Python à des outils comme Git, Node.js ou Docker. Il prend aussi en charge les applications graphiques grâce aux casks.

Avant d’installer Homebrew, assurez-vous que votre système répond aux exigences suivantes :

Sur macOS (Intel et Apple Silicon) :

  • macOS 11 (Big Sur) ou version ultérieure est recommandé
  • Xcode Command Line Tools doit être installé
  • Accès administrateur pour l’installation

Exécutez la commande suivante :

Fenêtre de terminal
xcode-select --install

Une boîte de dialogue apparaîtra pour confirmer l’installation. Une fois celle-ci terminée, vérifiez que tout est bien installé avec :

Fenêtre de terminal
xcode-select -p

Sur Linux :

  • Une distribution basée sur Debian, Ubuntu, Fedora ou CentOS
  • curl, git et procps doivent être installés
  • Un accès sudo peut être nécessaire pour certaines étapes

Sur Debian/Ubuntu :

Fenêtre de terminal
sudo apt update && sudo apt install -y curl git procps

Sur Fedora :

Fenêtre de terminal
sudo dnf install -y curl git procps-ng

L’installation se fait via un script à exécuter dans le terminal. Pour macOS (Intel et Apple Silicon), utilisez :

Fenêtre de terminal
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Pendant l’installation, le script vous demandera d’entrer votre mot de passe administrateur.

À la fin de l’installation, Homebrew vous affichera des instructions pour configurer votre PATH. Pour les architectures Intel, ajoutez la ligne suivante à votre fichier ~/.zshrc ou ~/.bashrc :

Fenêtre de terminal
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

Pour les Macs avec puce Apple Silicon (M1/M2), utilisez :

Fenêtre de terminal
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

Testez si Homebrew est correctement installé avec :

Fenêtre de terminal
brew doctor

Si tout est en ordre, le message “Your system is ready to brew” s’affichera.

Lancez l’installation avec :

Fenêtre de terminal
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Ajoutez Homebrew à votre environnement :

Pour bash :

Fenêtre de terminal
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc

Pour zsh :

Fenêtre de terminal
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

Exécutez :

Fenêtre de terminal
brew doctor

Si tout est en ordre, Homebrew est prêt à être utilisé.

Maintenant que Homebrew est installé, voyons comment l’utiliser. Ce gestionnaire de paquets repose sur des commandes simples pour installer, mettre à jour et supprimer des logiciels.

Pour installer un logiciel avec Homebrew, il suffit d’exécuter :

Fenêtre de terminal
brew install <nom_du_paquet>

Par exemple, pour installer htop, un outil de surveillance système :

Fenêtre de terminal
brew install htop

Une fois installé, vous pouvez l’exécuter en tapant simplement htop dans le terminal.

Si vous voulez installer une application graphique sur macOS (exemple : Google Chrome), utilisez cask :

Fenêtre de terminal
brew install --cask google-chrome

Sur Linux, cask n’est pas nécessaire puisque les applications graphiques sont installées comme n’importe quel autre paquet.

Les logiciels installés avec Homebrew peuvent être mis à jour facilement. Commencez par mettre à jour la liste des paquets disponibles :

Fenêtre de terminal
brew update

Ensuite, mettez à jour tous les logiciels installés :

Fenêtre de terminal
brew upgrade

Si vous voulez mettre à jour un seul paquet, ajoutez son nom :

Fenêtre de terminal
brew upgrade htop

Pour afficher la liste des logiciels installés avec Homebrew :

Fenêtre de terminal
brew list

Si vous souhaitez voir uniquement les applications graphiques installées via cask :

Fenêtre de terminal
brew list --cask

Si vous n’avez plus besoin d’un logiciel, vous pouvez le désinstaller avec :

Fenêtre de terminal
brew uninstall htop

Pour une application graphique :

Fenêtre de terminal
brew uninstall --cask google-chrome

Si vous voulez supprimer un logiciel et nettoyer ses fichiers de configuration :

Fenêtre de terminal
brew uninstall --force htop

Homebrew conserve parfois des anciennes versions des logiciels après une mise à jour. Pour libérer de l’espace disque :

Fenêtre de terminal
brew cleanup

Et pour voir combien d’espace, vous pouvez récupérer avant de nettoyer :

Fenêtre de terminal
brew cleanup -n
ActionCommande
Installer un paquetbrew install <nom_du_paquet>
Installer une application GUIbrew install --cask <nom_du_paquet>
Mettre à jour Homebrewbrew update
Mettre à jour les logicielsbrew upgrade
Lister les paquets installésbrew list
Supprimer un paquetbrew uninstall <nom_du_paquet>
Nettoyer les anciennes versionsbrew cleanup

Avec ces commandes de base, vous pouvez déjà gérer efficacement vos logiciels avec Homebrew. Dans le chapitre suivant, nous allons voir la gestion des formules et des casks, pour aller plus loin dans l’utilisation de cet outil !

Par défaut, Homebrew installe des paquets depuis son dépôt officiel, mais il est possible d’ajouter des dépôts externes appelés “taps”. Cela permet d’accéder à des logiciels non inclus dans la base officielle ou à des versions spécifiques.

Avant d’ajouter un tap, vous pouvez vérifier ceux qui sont déjà installés :

Fenêtre de terminal
brew tap

Pour ajouter un dépôt externe, utilisez :

Fenêtre de terminal
brew tap <utilisateur>/<nom_du_tap>

Par exemple, pour accéder à des versions alternatives d’applications populaires :

Pour ajouter le dépôt de Microsoft contenant des outils comme VS Code :

Fenêtre de terminal
brew tap microsoft/git

Une fois ajouté, les paquets disponibles dans ce tap peuvent être installés normalement :

Fenêtre de terminal
brew install <nom_du_paquet>

Si vous n’avez plus besoin d’un dépôt externe, vous pouvez le supprimer :

Fenêtre de terminal
brew untap <utilisateur>/<nom_du_tap>

Par exemple, pour supprimer le dépôt des versions alternatives :

Fenêtre de terminal
brew untap homebrew/cask-versions

Cela n’affectera pas les paquets déjà installés, mais vous ne pourrez plus les mettre à jour depuis ce tap.

Pour découvrir des taps supplémentaires pour Homebrew, vous pouvez consulter les ressources suivantes :

ActionCommande
Lister les taps installésbrew tap
Ajouter un tapbrew tap <utilisateur>/<nom_du_tap>
Supprimer un tapbrew untap <utilisateur>/<nom_du_tap>

Avec Homebrew, il est possible d’installer et de gérer plusieurs versions d’un même logiciel grâce aux commandes link et unlink. Cela est particulièrement utile pour les développeurs qui ont besoin de tester différentes versions d’un langage ou d’un outil.

Avant d’installer un logiciel, vous pouvez voir les versions disponibles avec :

Fenêtre de terminal
brew search <nom_du_paquet>

Par exemple, pour Python :

Fenêtre de terminal
brew search python
==> Formulae
boost-python3 ptpython python-gdbm@3.13 python-setuptools python-tk@3.9 python@3.8 jython
bpython python-argcomplete python-launcher python-tabulate python-yq python@3.9
cyclonedx-python python-build python-lsp-server python-tk@3.10 python@3.10 reorder-python-imports
ipython python-freethreading python-markdown python-tk@3.11 python@3.11 wxpython
libvirt-python python-gdbm@3.11 python-matplotlib python-tk@3.12 python@3.12 pythran
micropython python-gdbm@3.12 python-packaging python-tk@3.13 python@3.13 cython

Cela affiche la version installée, les anciennes versions encore disponibles et l’emplacement d’installation.

Par défaut, Homebrew installe la dernière version d’un logiciel. Mais vous pouvez spécifier une version en utilisant @ suivi du numéro de version.

Fenêtre de terminal
brew install python@3.10

Si vous n’avez plus besoin d’une version spécifique d’un logiciel, supprimez-la avec :

Fenêtre de terminal
brew uninstall python@3.10

Résumé des commandes pour gérer plusieurs versions

Section intitulée « Résumé des commandes pour gérer plusieurs versions »
ActionCommande
Voir les versions disponiblesbrew search <paquet>
Installer une version spécifiquebrew install <paquet>@<version>
Supprimer une version spécifiquebrew uninstall <paquet>@<version>

Grâce à ces commandes, vous pouvez facilement jongler entre différentes versions d’un même logiciel avec Homebrew. Dans le chapitre suivant, nous verrons comment aller encore plus loin avec les taps et les formules personnalisées.

Par défaut, Homebrew met à jour les paquets lorsqu’on exécute brew upgrade. Mais parfois, on veut figer une version pour éviter qu’elle ne soit remplacée par une mise à jour. C’est particulièrement utile pour les développeurs qui travaillent avec des versions spécifiques.

La méthode la plus simple pour empêcher la mise à jour d’un paquet est de le “pinner” avec la commande :

Fenêtre de terminal
brew pin htop

Une fois un paquet pinné, il n’apparaîtra plus dans les mises à jour quand on exécute brew upgrade.

Pour voir tous les paquets qui sont bloqués sur une version spécifique :

Fenêtre de terminal
brew list --pinned

Si vous souhaitez autoriser de nouveau les mises à jour, utilisez :

Fenêtre de terminal
brew unpin htop

Dès que vous faites cela, le paquet pourra être mis à jour avec brew upgrade.

ActionCommande
Bloquer un paquet sur une versionbrew pin <paquet>
Voir les paquets bloquésbrew list --pinned
Débloquer un paquetbrew unpin <paquet>
Mettre à jour sans toucher aux paquets bloquésbrew upgrade --ignore-pinned

En appliquant ces astuces, vous pouvez garder un environnement stable et éviter des mises à jour non désirées qui pourraient casser votre configuration. Dans le prochain chapitre, nous verrons comment ajouter des dépôts externes avec les taps pour encore plus de flexibilité.

Après avoir exploré Homebrew en détail, je reconnais que c’est un excellent outil pour installer et gérer des logiciels sur macOS et Linux. Son fonctionnement simple, sa vaste bibliothèque de paquets et sa flexibilité en font un incontournable, surtout sur macOS où il comble l’absence d’un gestionnaire natif.

Cependant, pour la gestion des versions, notamment pour des langages comme Python, Node.js ou Ruby, je préfère largement asdf-vm. Cet outil permet de jongler plus facilement entre plusieurs versions et offre un contrôle plus précis sans avoir à utiliser brew link/unlink.