# Désinstaller Homebrew avec le script officiel

> Lancez d'abord le script officiel avec --dry-run, exportez formules et casks, puis nettoyez le PATH shell et les échecs courants

Published: 2026-08-04 | Updated: 2026-09-25

Homebrew fournit un désinstalleur officiel, et il fait ce qu'il dit. La surprise, c'est la portée : il retire Homebrew, et il retire ce que Homebrew a installé. Le poids de ces deux faits dépend de la raison pour laquelle vous êtes ici.

Si vous avez seulement besoin d'espace disque, vérifiez d'abord combien Homebrew occupe. Si une seule formula pose problème, désinstaller tout l'environnement est inutile.

Avant d'aller plus loin, notez `brew leaves` et la liste des casks. Lancez ensuite le désinstalleur officiel avec `--dry-run` et lisez la portée comme un plan de suppression. Si un seul paquet est en cause, arrêtez-vous ici et utilisez `brew uninstall`, ou suivez le [chemin plus sûr de nettoyage Homebrew](https://mole.fit/fr/blog/how-to-clean-up-homebrew-mac).

## Quand vous ne devez pas désinstaller Homebrew

Ignorez l'option nucléaire si l'un de ces cas s'applique :

- Une formula ou un cask est cassé : utilisez `brew uninstall <name>`, puis `brew autoremove` si des dépendances sont orphelines.
- Vous avez seulement besoin d'espace : `brew cleanup -s` efface les anciennes versions et téléchargements sans supprimer le préfixe.
- Vous avez encore besoin de `git`, `node`, `python`, de serveurs de base de données ou d'outils CLI venus de Homebrew. Le désinstalleur emporte Cellar et Caskroom.
- Vous comptez réinstaller la même pile demain sur le même Mac. Exportez les listes ci-dessous, nettoyez avec `brew cleanup`, et gardez l'installation.

Désinstallez quand vous quittez Homebrew pour de bon, que vous migrez vers un préfixe propre après une installation cassée, ou que vous effacez une machine où vous ne voulez plus aucun de ces paquets.

## Connaître votre préfixe : Intel, Apple Silicon et restes Rosetta

Le préfixe par défaut de Homebrew dépend de la puce :

| Mac | Préfixe par défaut | Binaire `brew` |
| --- | --- | --- |
| Apple Silicon | `/opt/homebrew` | `/opt/homebrew/bin/brew` |
| Intel | `/usr/local` | `/usr/local/bin/brew` |

Confirmez ce que vous avez réellement avant de supprimer quoi que ce soit :

```
uname -m
brew --prefix
which brew
```

`arm64` est Apple Silicon. `x86_64` est Intel (ou un terminal Rosetta). Sur un Mac Apple Silicon migré, un ancien Homebrew Intel sous `/usr/local` peut encore exister à côté de `/opt/homebrew`. Le script de désinstallation officiel cherche le défaut de votre machine et, sur `arm64`, examine aussi `/usr/local` pour ne pas manquer un préfixe Intel restant. Si vous conservez volontairement deux préfixes, passez `--path` pour retirer celui que vous visez.

Ne videz pas à la main tout `/usr/local` sur Intel. Ce répertoire est partagé avec d'autres logiciels. Utilisez le script officiel, qui cible les arbres propres à Homebrew.

## Le désinstalleur officiel

La [FAQ](https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew) de Homebrew pointe vers le script de désinstallation du dépôt Homebrew/install. Préférez copier la commande depuis cette page si Homebrew la change un jour. L'one-liner actuel est :

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

Si vous voulez lire le script avant qu'il ne s'exécute, téléchargez-le d'abord :

```
curl -O https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
less uninstall.sh
/bin/bash uninstall.sh --help
```

Options utiles :

- `--dry-run` (aussi `-n`) : affiche ce qui serait retiré et ne change rien. Commencez ici sur une machine qui compte.
- `--path=PATH` : désinstaller un préfixe précis (par exemple `/usr/local` sur Apple Silicon après une installation de l'ère Rosetta).
- `--force` : saute la confirmation (aussi implicite si `NONINTERACTIVE` est défini).
- `--skip-cache-and-logs` : laisse les caches et journaux tranquilles.

Ignorez l'ancien gist mxcl et tout guide qui dit encore de faire `cd $(brew --prefix)` puis de supprimer avec `git ls-files`. Ce flux visait la disposition ancienne de `/usr/local` et est dangereux sur les installs modernes.

## Ce que le script supprime vraiment

Le désinstalleur retire le préfixe Homebrew et les répertoires en dessous : `bin`, `etc`, `include`, `lib`, `opt`, `sbin`, `share`, `var`, `Frameworks`, ainsi que `Cellar` et `Caskroom`.

Ces deux derniers sont le point central. Cellar contient les fichiers de chaque formula, Caskroom les métadonnées des casks. Retirer Homebrew les retire, donc chaque outil en ligne de commande installé via Homebrew disparaît en même temps.

Il nettoie aussi `~/Library/Caches/Homebrew` et `~/Library/Logs/Homebrew`, le cache Homebrew système, `/etc/paths.d/homebrew`, et les apps gérées par Homebrew dans `/Applications` et `~/Applications`.

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/homebrew-uninstall-scope.webp" width="1360" height="454" loading="lazy" alt="Le script de désinstallation retire le préfixe Homebrew, y compris Cellar et Caskroom, ainsi que les caches et journaux, tandis que la configuration écrite par les paquets et les lignes du profil shell restent.">
  <figcaption>Le script emporte les paquets, pas seulement le gestionnaire. Ce qui reste, c'est la configuration écrite par ces paquets et les lignes que vous avez ajoutées au profil shell.</figcaption>
</figure>

## Notez ce que vous avez avant de le retirer

Exportez l'inventaire avant la désinstallation avec ces deux commandes :

```
brew leaves > ~/Desktop/brew-formulae.txt
brew list --cask > ~/Desktop/brew-casks.txt
```

`brew leaves` liste les formulas dont aucune autre formula ou cask installé ne dépend. C'est un point de départ utile, pas un historique complet de tout ce que vous avez installé explicitement. Relisez ces deux fichiers avant de reconstruire votre environnement.

Traitez les données des paquets séparément des fichiers des paquets. La configuration dans votre répertoire personnel peut rester, mais une base Postgres sous `/opt/homebrew/var` ou `/usr/local/var` est encore dans le préfixe Homebrew. Le désinstalleur retire `var`, donc les données qui s'y trouvent peuvent partir avec. Sauvegardez hors du préfixe ce dont vous avez besoin avant de désinstaller. Arrêtez d'abord les services si vous en utilisez :

```
brew services list
brew services stop --all
```

## Optionnel : retirer d'abord formulas et casks

Si vous voulez un démontage par étapes plutôt qu'un passage nucléaire, désinstallez les paquets tant que `brew` fonctionne encore :

```
brew list --formula
brew uninstall --force $(brew list --formula)
brew list --cask
brew uninstall --cask --force $(brew list --cask)
brew autoremove
brew cleanup -s
```

Cela vide Cellar et Caskroom mais laisse l'installation Homebrew. Utilisez-le quand vous n'êtes pas sûr des données sous `var`, ou quand vous voulez libérer l'espace des paquets et garder `brew` pour un jeu d'outils plus petit plus tard. Quand vous en avez fini avec Homebrew lui-même, lancez quand même le désinstalleur officiel pour que le préfixe, les taps et les caches disparaissent proprement.

## Lancer la désinstallation

1. Lancez avec `--dry-run` et lisez chaque chemin.
2. Lancez sans `--dry-run`, tapez `y` quand on vous le demande, et entrez votre mot de passe macOS si `sudo` est requis pour des répertoires protégés.
3. Copiez toute liste « possible Homebrew files were not deleted » du terminal avant de fermer la fenêtre.

Exemple de dry-run après téléchargement du script :

```
/bin/bash uninstall.sh --dry-run
```

Ou avec l'one-liner distant : téléchargez d'abord pour passer des options sans imbriquer maladroitement les guillemets, puis lancez `/bin/bash uninstall.sh`.

## Liste de contrôle des fichiers restants

Quand le script se termine, il peut indiquer que certains fichiers Homebrew possibles n'ont pas été supprimés et que vous voudrez peut-être les retirer vous-même, suivi de la liste.

C'est le seul endroit où ces chemins sont jamais nommés. Cela vient souvent de permissions sur des répertoires que Homebrew n'a pas créés, et la liste est courte. Copiez-la avant de fermer le terminal, car relancer le désinstalleur sur une install déjà retirée ne la reproduira pas.

Les restes typiques se trouvent sous le préfixe que vous venez de retirer :

- Apple Silicon : `/opt/homebrew/etc`, `share`, `var`, `Frameworks`, et des répertoires vides ou partiellement possédés similaires
- Intel : les mêmes noms sous `/usr/local`, mais ne supprimez jamais des arbres `/usr/local` sans rapport au hasard

Si le script a nommé un chemin et que vous avez confirmé qu'il n'appartient qu'à Homebrew, retirez-le explicitement (espace après `-rf`) :

```
sudo rm -rf /opt/homebrew/share
```

Puis vérifiez :

```
ls /opt/homebrew
ls /usr/local/Homebrew
ls ~/Library/Caches/Homebrew
ls ~/Library/Logs/Homebrew
```

Attendez-vous à « No such file or directory » une fois ces emplacements partis. Si `/opt/homebrew` ou un arbre uniquement Homebrew existe encore alors que le script a déjà fini, `sudo rm -rf` sur ce chemin est le nettoyage habituel. Vérifiez deux fois le chemin avant d'appuyer sur Return.

La configuration hors préfixe reste souvent volontairement : `~/.gitconfig`, gestionnaires de versions de langages, dossiers de support d'apps sous `~/Library`, et bases que vous avez sorties de `var`. Ce n'est pas le préfixe Homebrew. Ne les retirez que lorsque vous savez à quoi elles appartiennent.

## Votre profil shell le mentionne encore

Le désinstalleur n'édite ni `.zprofile`, ni `.zshrc`, ni `.zshenv`, ni `.zlogin`, ni `.bash_profile`. La ligne que l'installeur Homebrew ajoute souvent ressemble à :

```
eval "$(/opt/homebrew/bin/brew shellenv)"
```

Sur les Mac Intel, le PATH par défaut inclut déjà `/usr/local/bin`, donc beaucoup d'installations n'ont jamais eu besoin de cette ligne. Sur Apple Silicon elle est requise pour trouver `brew`, et après désinstallation chaque nouveau shell essaie d'exécuter un binaire qui n'existe plus.

Cherchez et retirez `brew shellenv` (ainsi que tout export PATH `/opt/homebrew/bin` ou `/usr/local/bin` ajouté à la main dont vous ne voulez plus) :

```
grep -n "brew shellenv\|/opt/homebrew\|/usr/local/bin" ~/.zprofile ~/.zshrc ~/.zshenv ~/.zlogin ~/.bash_profile ~/.bashrc 2>/dev/null
```

Ouvrez ensuite un nouvel onglet de terminal. Si l'avertissement a disparu et que `which brew` n'affiche rien, le nettoyage du PATH est terminé. Ne gardez la ligne que si vous comptez réinstaller immédiatement.

## Modes d'échec courants

**Permission denied sur les restes.** Le script a listé des chemins mais n'a pas pu les supprimer. Utilisez `sudo rm -rf` sur chaque chemin nommé, avec un espace entre `-rf` et le chemin. `rm -rf/opt/...` échoue avec `illegal option` parce que le chemin a été lu comme des options.

**Désinstallation partielle / « Homebrew is already installed ».** Une tentative précédente a laissé `.git`, `Cellar` ou `bin/brew`. Relancez le script officiel avec le bon `--path`, ou retirez le préfixe restant signalé par le script, puis réinstallez depuis la doc d'installation Homebrew si vous en avez encore besoin.

**`brew: command not found` après un nettoyage à moitié fini.** Soit la désinstallation est terminée et le PATH pointe encore vers l'ancien préfixe (corrigez la ligne shell), soit `brew` a disparu alors que des paquets restent. Ne courez pas après le gist classique. Utilisez le script officiel avec `--path` si un répertoire de préfixe existe encore.

**Mauvais préfixe sur Apple Silicon.** Vous avez retiré `/opt/homebrew` mais des outils de l'ère Rosetta vivent encore sous `/usr/local`. Lancez le script avec `--path=/usr/local` après avoir confirmé que cet arbre est bien celui de Homebrew, pas un mélange de logiciels sans rapport.

**Services et éléments d'ouverture de session appellent encore des binaires manquants.** Arrêtez `brew services` avant la désinstallation quand vous le pouvez. Ensuite, vérifiez les éléments d'ouverture de session et tout LaunchAgent qui référence encore `/opt/homebrew` ou `/usr/local/Cellar`.

**Anciens billets de blog et le gist de 2011.** Les guides qui suppriment via `git ls-files` et `pbcopy` appartiennent à une disposition Homebrew plus ancienne. Préférez uniquement `https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh`.

## Envisager l'opération plus petite

Pour un nettoyage plus léger, `brew cleanup` retire les anciennes versions et téléchargements en cache, `brew uninstall <formula>` retire un paquet, et `brew autoremove` retire les dépendances inutilisées. Dans la [vue Analyze de Mole](https://mole.fit/fr/mac-disk-analyzer), scannez le dossier Homebrew avant le nettoyage, puis encore après pour comparer sa taille. Mole ne suit pas automatiquement les changements faits par ces commandes.

## Reconstruction à partir de la liste exportée

Une fois Homebrew installé sur la nouvelle machine, deux commandes restaurent ce que vous aviez :

```
xargs brew install < brew-formulae.txt
xargs brew install --cask < brew-casks.txt
```

Elles restent séparées parce que les casks ont besoin de `--cask`, et une liste mélangée échoue sur la moitié de ses entrées.

`brew list` inclut les dépendances, donc rejouer toute la liste marque ces paquets comme explicitement demandés et change ce que `brew autoremove` pourra retirer plus tard. `brew leaves` évite une grande partie de cela, mais ce n'est pas l'historique de vos paquets demandés : un paquet que vous avez choisi peut aussi être requis par un autre. Relisez la liste et ajoutez les outils dont vous avez encore besoin avant de réinstaller.

## FAQ

### La désinstallation de Homebrew retire-t-elle tous les paquets qu'il a installés ?

Oui pour tout ce qui est encore dans Cellar et Caskroom. Le script officiel retire le préfixe, donc formulas et métadonnées de casks partent avec. Config et données hors préfixe peuvent rester.

### Quelle est la différence entre `/opt/homebrew` et `/usr/local` ?

`/opt/homebrew` est le défaut sur Apple Silicon. `/usr/local` est le défaut sur Intel, et peut aussi contenir un ancien Homebrew Rosetta sur un Mac migré. Vérifiez toujours `brew --prefix` avant de supprimer.

### Dois-je désinstaller chaque formula avant de lancer le script de désinstallation ?

Seulement si vous voulez un nettoyage par étapes ou inspecter d'abord les données sous `var`. Le script retire déjà les paquets installés dans le préfixe. Exportez vos listes dans tous les cas si vous pourriez réinstaller plus tard.

### Pourquoi des répertoires restent-ils après la désinstallation ?

Des permissions ou des répertoires que Homebrew n'a pas créés peuvent bloquer la suppression. Le script affiche ces chemins une seule fois. Retirez-les avec `sudo` seulement quand vous les reconnaissez comme des restes Homebrew.

### Est-il sûr de supprimer tout `/usr/local` ?

Non. Sur les Mac Intel ce dossier est partagé. Utilisez le script de désinstallation officiel, puis retirez seulement les chemins qu'il nomme s'il reste quelque chose.

### Je vois encore des erreurs brew shellenv dans chaque nouveau terminal. Que faire ?

Retirez la ligne `eval "$(...brew shellenv)"` de vos fichiers de démarrage zsh ou bash, puis ouvrez un nouvel onglet. Le désinstalleur n'édite pas ces fichiers pour vous.

---

Canonical HTML page: https://mole.fit/fr/blog/how-to-uninstall-homebrew-mac
Blog index for agents: https://mole.fit/fr/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
