Aller au contenu

Brew, le gestionnaire de paquets pour macOS et Linux

Mise à jour :

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.

Pourquoi utiliser Homebrew ?

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.

Comment installer Homebrew ?

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 :

Terminal window
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 :

Terminal window
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 :

Terminal window
sudo apt update && sudo apt install -y curl git procps

Sur Fedora :

Terminal window
sudo dnf install -y curl git procps-ng

Installation sur macOS

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

Terminal window
/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 :

Terminal window
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

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

Terminal window
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

Testez si Homebrew est correctement installé avec :

Terminal window
brew doctor

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

Installation sur Linux

Lancez l’installation avec :

Terminal window
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Ajoutez Homebrew à votre environnement :

Pour bash :

Terminal window
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrc
source ~/.bashrc

Pour zsh :

Terminal window
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc

Exécutez :

Terminal window
brew doctor

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

Commandes de base

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.

Installer un paquet

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

Terminal window
brew install <nom_du_paquet>

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

Terminal window
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 :

Terminal window
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.

Mettre à jour les paquets

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

Terminal window
brew update

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

Terminal window
brew upgrade

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

Terminal window
brew upgrade htop

Lister les paquets installés

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

Terminal window
brew list

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

Terminal window
brew list --cask

Supprimer un paquet

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

Terminal window
brew uninstall htop

Pour une application graphique :

Terminal window
brew uninstall --cask google-chrome

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

Terminal window
brew uninstall --force htop

Nettoyer les anciennes versions

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

Terminal window
brew cleanup

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

Terminal window
brew cleanup -n

Résumé des commandes principales

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 !

Gérer les dépôts externes avec les taps

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.

Lister les taps disponibles

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

Terminal window
brew tap

Ajouter un tap

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

Terminal window
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 :

Terminal window
brew tap microsoft/git

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

Terminal window
brew install <nom_du_paquet>

Supprimer un tap

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

Terminal window
brew untap <utilisateur>/<nom_du_tap>

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

Terminal window
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.

Ou trouver des taps ?

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

Résumé des commandes pour gérer les taps

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

Gestion de plusieurs versions avec Homebrew

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.

Vérifier les versions disponibles d’un paquet

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

Terminal window
brew search <nom_du_paquet>

Par exemple, pour Python :

Terminal window
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.

Installer une version spécifique d’un paquet

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.

Terminal window
brew install python@3.10

Supprimer une version spécifique

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

Terminal window
brew uninstall python@3.10

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.

Figer les versions et éviter les mises à jour

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.

Empêcher la mise à jour d’un paquet avec pin

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

Terminal window
brew pin htop

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

Vérifier les paquets “pinnés”

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

Terminal window
brew list --pinned

Débloquer un paquet avec unpin

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

Terminal window
brew unpin htop

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

Résumé des commandes pour figer une version

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é.

Conclusion

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.