Homebrew installe les logiciels que macOS (ou Linux) n’a pas, en une seule
commande. Ce gestionnaire de paquets télécharge, compile si nécessaire, et
installe plus de 10 000 formules (outils CLI) et casks (applications graphiques).
Avec brew bundle, vous pouvez sauvegarder votre configuration complète dans
un fichier Brewfile et la restaurer sur une nouvelle machine en quelques
minutes. Homebrew 5.0 apporte la vérification des attestations SBOM et améliore
les performances sur Apple Silicon.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer Homebrew sur macOS (Intel/Apple Silicon) et Linux
- Gérer vos paquets : installer, mettre à jour, supprimer
- Sauvegarder et restaurer votre configuration avec
brew bundle - Analyser les dépendances avec
brew depsetbrew uses - Gérer les services (bases de données, serveurs) avec
brew services - Optimiser votre installation et résoudre les problèmes courants
Fonctionnement de Homebrew
Section intitulée « Fonctionnement de Homebrew »Homebrew repose sur trois concepts clés :
| Concept | Description | Exemple |
|---|---|---|
| Formule | Paquet CLI (outil en ligne de commande) | htop, git, node |
| Cask | Application graphique macOS | visual-studio-code, firefox |
| Tap | Dépôt externe de formules | homebrew/cask-fonts |
Où sont stockés les paquets ?
- macOS Apple Silicon :
/opt/homebrew/Cellar/ - macOS Intel :
/usr/local/Cellar/ - Linux :
/home/linuxbrew/.linuxbrew/Cellar/
Installation de Homebrew
Section intitulée « Installation de Homebrew »L’installation nécessite les Xcode Command Line Tools. macOS 11 (Big Sur) ou supérieur est recommandé.
-
Installer les outils de développement
Fenêtre de terminal xcode-select --installUne boîte de dialogue apparaît pour confirmer l’installation.
-
Installer Homebrew
Fenêtre de terminal /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Configurer le PATH
Pour Apple Silicon (M1/M2/M3/M4) :
Fenêtre de terminal echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrcsource ~/.zshrcPour Intel :
Fenêtre de terminal echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zshrcsource ~/.zshrc -
Vérifier l’installation
Fenêtre de terminal brew doctor# Your system is ready to brew.
Sur Linux, Homebrew s’installe dans /home/linuxbrew/.linuxbrew. Vous aurez
besoin de curl, git et des outils de compilation.
-
Installer les prérequis
Sur Debian/Ubuntu :
Fenêtre de terminal sudo apt update && sudo apt install -y build-essential curl git procpsSur Fedora :
Fenêtre de terminal sudo dnf groupinstall -y 'Development Tools'sudo dnf install -y curl git procps-ng -
Installer Homebrew
Fenêtre de terminal /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Configurer le PATH
Pour bash :
Fenêtre de terminal echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.bashrcsource ~/.bashrcPour zsh :
Fenêtre de terminal echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> ~/.zshrcsource ~/.zshrc -
Vérifier l’installation
Fenêtre de terminal brew doctor# Your system is ready to brew.
Commandes essentielles
Section intitulée « Commandes essentielles »Ces commandes couvrent 90% des usages quotidiens. Homebrew utilise une syntaxe
simple : brew <action> <paquet>.
Installer un paquet
Section intitulée « Installer un paquet »brew install htop# ==> Pouring htop--3.4.1.arm64_sonoma.bottle.tar.gz# 🍺 /opt/homebrew/Cellar/htop/3.4.1: 13 files, 597.3KBPour les applications graphiques macOS, ajoutez --cask :
brew install --cask visual-studio-codeRechercher un paquet
Section intitulée « Rechercher un paquet »brew search python# ==> Formulae# python@3.11 python@3.12 python@3.13 micropython ipythonObtenir les informations d’un paquet
Section intitulée « Obtenir les informations d’un paquet »brew info htop# ==> htop: stable 3.4.1 (bottled)# Improved top (interactive process viewer)# https://htop.dev/# Installed: /opt/homebrew/Cellar/htop/3.4.1Mettre à jour Homebrew et les paquets
Section intitulée « Mettre à jour Homebrew et les paquets »# Mettre à jour le catalogue des formulesbrew update
# Voir les paquets obsolètesbrew outdated
# Mettre à jour tous les paquetsbrew upgrade
# Mettre à jour un paquet spécifiquebrew upgrade htopSupprimer un paquet
Section intitulée « Supprimer un paquet »brew uninstall htopPour supprimer aussi les dépendances orphelines :
brew autoremoveLister les paquets installés
Section intitulée « Lister les paquets installés »# Tous les paquetsbrew list
# Seulement les formules (CLI)brew list --formula
# Seulement les casks (GUI)brew list --cask
# Paquets "feuilles" (installés explicitement, pas en dépendance)brew leavesNettoyer les anciennes versions
Section intitulée « Nettoyer les anciennes versions »Homebrew conserve les anciennes versions après une mise à jour. Pour libérer de l’espace :
# Simuler le nettoyage (dry-run)brew cleanup -n# Would remove: /opt/homebrew/Cellar/node/20.10.0 (1,234 files, 89MB)
# Nettoyer effectivementbrew cleanupRésumé des commandes de base
Section intitulée « Résumé des commandes de base »| Action | Commande |
|---|---|
| Installer un paquet CLI | brew install <paquet> |
| Installer une app GUI | brew install --cask <app> |
| Rechercher | brew search <terme> |
| Informations | brew info <paquet> |
| Mettre à jour le catalogue | brew update |
| Mettre à jour les paquets | brew upgrade |
| Supprimer | brew uninstall <paquet> |
| Lister les paquets | brew list |
| Nettoyer | brew cleanup |
| Diagnostic | brew doctor |
Sauvegarder et restaurer avec Brewfile
Section intitulée « Sauvegarder et restaurer avec Brewfile »brew bundle permet de sauvegarder votre configuration complète dans un
fichier déclaratif appelé Brewfile. C’est essentiel pour :
- Configurer rapidement une nouvelle machine
- Versionner votre configuration dans un dotfiles repo
- Partager une configuration d’équipe
Créer un Brewfile
Section intitulée « Créer un Brewfile »# Générer le Brewfile depuis les paquets installésbrew bundle dump# Fichier Brewfile créé dans le répertoire courantLe fichier généré ressemble à :
# Brewfiletap "homebrew/bundle"tap "homebrew/cask-fonts"
# CLI toolsbrew "git"brew "htop"brew "node"brew "python@3.12"
# GUI applicationscask "visual-studio-code"cask "firefox"cask "docker"
# Fontscask "font-fira-code"Restaurer depuis un Brewfile
Section intitulée « Restaurer depuis un Brewfile »# Installer tous les paquets du Brewfilebrew bundle install
# Ou simplementbrew bundleVérifier la cohérence
Section intitulée « Vérifier la cohérence »# Voir ce qui serait installé sans rien fairebrew bundle check
# Lister les paquets installés mais absents du Brewfilebrew bundle cleanup --dry-run
# Supprimer ces paquets excédentairesbrew bundle cleanupAnalyser les dépendances
Section intitulée « Analyser les dépendances »Comprendre les dépendances est crucial pour le nettoyage et le diagnostic. Homebrew fournit plusieurs commandes pour visualiser les relations entre paquets.
Voir les dépendances d’un paquet
Section intitulée « Voir les dépendances d’un paquet »brew deps htop# lm-sensors# ncursesAfficher l’arbre des dépendances
Section intitulée « Afficher l’arbre des dépendances »brew deps --tree htop# htop# ├── ncurses# └── lm-sensorsVoir tous les paquets qui dépendent d’un autre
Section intitulée « Voir tous les paquets qui dépendent d’un autre »brew uses --installed ncurses# htopCette commande est utile avant de désinstaller un paquet partagé.
Lister les paquets orphelins
Section intitulée « Lister les paquets orphelins »Les paquets “feuilles” sont ceux que vous avez installés explicitement (pas en tant que dépendance) :
brew leavesPour voir les dépendances qui ne sont plus nécessaires :
brew autoremove --dry-runGérer les services
Section intitulée « Gérer les services »Sur macOS, brew services utilise launchd pour démarrer des services au
login. C’est pratique pour les bases de données, serveurs web, etc.
# Lister tous les services disponiblesbrew services list# Name Status User File# postgresql stopped# redis started bob ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
# Démarrer un servicebrew services start postgresql
# Arrêter un servicebrew services stop postgresql
# Redémarrer un servicebrew services restart postgresql
# Démarrer au boot (avec sudo)sudo brew services start postgresqlGérer les dépôts externes (Taps)
Section intitulée « Gérer les dépôts externes (Taps) »Les taps sont des dépôts Git contenant des formules supplémentaires. Par
défaut, Homebrew utilise homebrew/core et homebrew/cask.
Lister les taps installés
Section intitulée « Lister les taps installés »brew tap# homebrew/caskAjouter un tap
Section intitulée « Ajouter un tap »brew tap hashicorp/tapUne fois ajouté, vous pouvez installer les formules de ce tap :
brew install hashicorp/tap/terraformSupprimer un tap
Section intitulée « Supprimer un tap »brew untap hashicorp/tapTaps utiles
Section intitulée « Taps utiles »| Tap | Description |
|---|---|
homebrew/cask-fonts | Polices pour développeurs |
hashicorp/tap | Outils HashiCorp (Terraform, Vault) |
aws/tap | AWS CLI et outils |
mongodb/brew | MongoDB Community |
Gérer plusieurs versions
Section intitulée « Gérer plusieurs versions »Installer une version spécifique
Section intitulée « Installer une version spécifique »Certains paquets proposent plusieurs versions avec le suffixe @version :
brew search python# python@3.11 python@3.12 python@3.13
brew install python@3.11Figer une version (pin)
Section intitulée « Figer une version (pin) »Pour empêcher la mise à jour d’un paquet :
# Bloquer les mises à jourbrew pin python@3.12
# Voir les paquets bloquésbrew list --pinned# python@3.12
# Débloquerbrew unpin python@3.12Basculer entre versions
Section intitulée « Basculer entre versions »Si plusieurs versions sont installées, utilisez brew link :
# Désactiver la version actuellebrew unlink python@3.12
# Activer une autre versionbrew link python@3.11 --forceDépannage
Section intitulée « Dépannage »Commandes de diagnostic
Section intitulée « Commandes de diagnostic »# Vérifier la configurationbrew doctor
# Voir la configuration actuellebrew config
# Recréer les liens symboliquesbrew link <paquet> --overwrite
# Réinstaller un paquet corrompubrew reinstall <paquet>Problèmes courants et solutions
Section intitulée « Problèmes courants et solutions »| Symptôme | Cause probable | Solution |
|---|---|---|
command not found: brew | PATH non configuré | Relancer le shellenv (voir installation) |
Permission denied | Problème de propriétaire | sudo chown -R $(whoami) /opt/homebrew |
Error: No available formula | Catalogue obsolète | brew update |
Bottle not found | Version de macOS non supportée | brew install --build-from-source <pkg> |
Cask requires macOS | Cask sur Linux | Les casks sont réservés à macOS |
already installed | Paquet déjà présent | brew reinstall <pkg> si besoin |
Réparer une installation cassée
Section intitulée « Réparer une installation cassée »# Réinitialiser Homebrew (garde les paquets)brew update-reset
# Nettoyer le cachebrew cleanup --prune=all
# Vérifier et réparer les liensbrew doctorBonnes pratiques
Section intitulée « Bonnes pratiques »Sécurité
Section intitulée « Sécurité »- Vérifiez les formules avant d’ajouter un tap tiers
- Ne jamais utiliser sudo avec brew (sauf pour
brew services) - Les attestations SBOM (Homebrew 5.0+) vérifient l’intégrité des bottles
Performance
Section intitulée « Performance »- Nettoyez régulièrement :
brew cleanuplibère l’espace disque - Utilisez
brew bundlepour des installations reproductibles - Évitez d’installer tout : chaque paquet consomme des ressources
Organisation
Section intitulée « Organisation »- Un Brewfile par projet si les dépendances diffèrent
- Versionnez votre Brewfile dans votre repo dotfiles
- Documentez les taps externes que vous utilisez
À retenir
Section intitulée « À retenir »brew installinstalle des outils CLI,--caskpour les apps GUIbrew bundle dumpsauvegarde votre configuration dans unBrewfilebrew bundle installrestaure tout depuis ce fichierbrew deps --treevisualise les dépendances d’un paquetbrew servicesgère les services (bases de données, serveurs)brew pinbloque les mises à jour d’un paquet spécifiquebrew doctordiagnostique les problèmes de configuration
D’autres outils ?
Section intitulée « D’autres outils ? »Plus d’infos
Section intitulée « Plus d’infos »- Site officiel Homebrew — Documentation et téléchargement
- Homebrew Formulae — Catalogue des paquets
- Homebrew Bundle — Documentation Brewfile
- Releases Homebrew — Notes de version