Nettoyer Homebrew en sécurité
Homebrew gère les anciennes versions et les téléchargements en cache plus activement qu'autrefois. Sauf si le nettoyage automatique est désactivé, les installations et mises à niveau nettoient les formules qu'elles touchent, et Homebrew nettoie périodiquement toutes les formules. Une installation de longue date peut tout de même accumuler des téléchargements, des versions épinglées, des artefacts de compilation et des dépendances. Inspectez les métadonnées de Homebrew avant de supprimer quoi que ce soit sous son préfixe.
Ce que Homebrew conserve
Trois types de restes s'accumulent :
- Anciennes versions. Le nettoyage retire en principe les versions remplacées, mais les versions conservées ou récemment mises à niveau peuvent rester un temps dans le Cellar.
- Archives téléchargées. Chaque téléchargement de bottle et de cask est mis en cache dans le cache de Homebrew, pour éviter un nouveau téléchargement.
- Dépendances inutilisées. Les opérations de nettoyage et de désinstallation de Homebrew retirent en principe les formules qui ne sont plus nécessaires, sauf si la suppression automatique est désactivée. Les installations plus anciennes ou les opérations interrompues peuvent en laisser certaines.
Consultez directement la taille du cache de téléchargement :
brew --cache
du -sh "$(brew --cache)" 2>/dev/null
Le nettoyer
La commande principale retire les anciennes versions et élague le cache de téléchargement en une étape :
brew cleanup
Le manuel Homebrew actuel
indique que le nettoyage ordinaire retire les anciennes versions installées et les téléchargements
de plus de 120 jours par défaut. HOMEBREW_CLEANUP_MAX_AGE_DAYS permet de modifier cette fenêtre.
Utilisez -n pour un dry run. Le mode plus poussé -s purge davantage de téléchargements en cache
tout en conservant ceux des formules et casks actuellement installés :
brew cleanup -n
brew cleanup -s
Le nettoyage et la désinstallation de Homebrew retirent désormais les dépendances de formules
inutilisées par défaut. brew autoremove reste utile lorsque vous souhaitez examiner cette
décision de dépendance directement :
brew autoremove --dry-run
brew autoremove
brew list affiche les paquets installés et brew outdated les mises à jour en attente. Utilisez
brew --cellar, brew --caskroom et brew --cache pour découvrir les chemins plutôt que de
coder en dur /opt/homebrew ; les installations Intel et Apple silicon diffèrent.
Sûr par conception
Le nettoyage Homebrew présente moins de risques que de supprimer des répertoires du Cellar à la main, car il s'appuie sur les métadonnées de version et de dépendance. Il peut tout de même retirer une version de rollback ou une bottle en cache que vous comptiez utiliser hors ligne. Prévisualisez le nettoyage et l'autoremove, et conservez volontairement les versions épinglées ou opérationnellement critiques.
Sous le capot : le Cellar, le Caskroom, et comment le nettoyage décide
Homebrew installe chaque formule dans un répertoire versionné du Cellar indiqué par
brew --cellar, puis lie la version active dans son préfixe. Une mise à niveau place la
nouvelle version à côté de l'ancienne avant de rediriger les liens symboliques. Les casks
conservent des métadonnées versionnées sous le Caskroom, tandis que leurs bundles d'app se
trouvent en général dans /Applications. Les téléchargements utilisent le chemin indiqué par
brew --cache et sont conservés selon la politique de Homebrew. brew cleanup s'appuie sur les
métadonnées de version installée, de rétention et de dépendance plutôt que de simplement supprimer
chaque répertoire non courant. brew autoremove expose la partie purement liée aux dépendances
comme une commande séparée. Comme les deux agissent sur les propres enregistrements de Homebrew
plutôt que de deviner, elles sont plus sûres et plus explicables qu'une suppression manuelle de
dossiers. Un aperçu reste utile sur les machines qui dépendent d'anciennes toolchains ou de
bottles hors ligne.
Où un autre outil doit s'arrêter
Une carte de disque ou un nettoyeur peut révéler le cache Homebrew et en montrer la taille. Mole peut faire apparaître cette catégorie, mais les commandes propres à Homebrew restent l'autorité pour les versions du Cellar et les relations de dépendance. La découverte et la propriété ne doivent pas être confondues.
Un ordre d'opérations sûr
Utilisez les commandes de chemin de Homebrew pour mesurer ses espaces de stockage, prévisualisez
brew cleanup -n, et lancez le nettoyage ordinaire avant d'envisager -s. Prévisualisez
brew autoremove séparément, car il répond à une question de dépendance, pas de cache. Il n'est pas
nécessaire d'imposer un calendrier de nettoyage fixe lorsque le nettoyage automatique fonctionne et
que la pression sur le disque est faible.