Pulire Homebrew con brew cleanup e autoremove sul Mac
Homebrew gestisce le versioni vecchie e i download in cache in modo più attivo di un tempo. A meno che la pulizia automatica non sia disabilitata, le installazioni e gli aggiornamenti puliscono le formulae che toccano, e Homebrew pulisce periodicamente tutte le formulae. Un'installazione di lunga data può comunque accumulare download, versioni bloccate (pinned), artefatti di build e dipendenze. Controlla i metadati di Homebrew prima di eliminare qualsiasi cosa sotto il suo prefisso.
Cosa tiene Homebrew
Si accumulano tre tipi di residui:
- Versioni vecchie. La pulizia di solito rimuove le versioni superate, ma le versioni trattenute o aggiornate di recente possono restare per un po' nel Cellar.
- Archivi scaricati. Ogni bottle e ogni download di cask finiscono nella cache di Homebrew, conservati per evitare un altro download.
- Dipendenze non usate. Le operazioni attuali di cleanup e uninstall di Homebrew di norma rimuovono le formulae che non servono più, a meno che la rimozione automatica non sia disabilitata. Installazioni più vecchie o operazioni interrotte possono comunque lasciarne alcune.
Controlla direttamente la dimensione della cache dei download:
brew --cache
du -sh "$(brew --cache)" 2>/dev/null
Come pulirlo
Il comando principale rimuove le versioni vecchie e riduce la cache dei download in un solo passaggio:
brew cleanup
Il manuale attuale di Homebrew
indica che la pulizia rimuove le vecchie versioni installate. Per i download in cache, il limite di età predefinito è di 120
giorni. HOMEBREW_CLEANUP_MAX_AGE_DAYS permette di modificarlo. Usa -n
per un'anteprima senza modifiche. La modalità più approfondita -s elimina più download in cache, mantenendo
i download delle formulae e dei cask attualmente installati:
brew cleanup -n
brew cleanup -s
Cleanup e uninstall di Homebrew ora rimuovono per impostazione predefinita le dipendenze delle formulae non usate.
brew autoremove resta utile quando vuoi esaminare direttamente quella decisione sulle dipendenze:
brew autoremove --dry-run
brew autoremove
brew list mostra i pacchetti installati e brew outdated mostra gli aggiornamenti in sospeso. Usa
brew --cellar, brew --caskroom e brew --cache per scoprire i percorsi invece di
codificare /opt/homebrew; le installazioni Intel e Apple silicon sono diverse.
Misura separatamente i tre archivi
Prima della pulizia misura separatamente le formule installate, i metadati dei cask e la cache dei download: richiedono decisioni diverse.
du -sh "$(brew --cellar)" "$(brew --caskroom)" "$(brew --cache)" 2>/dev/null
Una cache grande è facile da recuperare perché Homebrew può scaricare di nuovo i file. Un Cellar grande è soprattutto software installato e cleanup rimuove solo versioni sostituite. Un Caskroom grande non significa che i bundle delle app siano lì, di solito sono in /Applications. Ripeti il comando dopo e attribuisci il cambiamento all’archivio che si è davvero ridotto.
Sicuro per progettazione
La pulizia di Homebrew è a rischio più basso rispetto a eliminare a mano le directory del Cellar, perché usa i metadati di versione e dipendenza. Può comunque rimuovere una versione di rollback o un bottle in cache che volevi usare offline. Controlla l'anteprima di cleanup e autoremove e conserva le versioni bloccate o indispensabili per il tuo lavoro.
Dietro le quinte: il Cellar, il Caskroom e come decide la pulizia
Homebrew installa ogni formula in una directory versionata nel Cellar riportato da
brew --cellar, poi collega la versione attiva nel suo prefisso. L'aggiornamento colloca la
nuova versione accanto a quella vecchia prima di ripuntare i symlink. I cask conservano metadati
versionati sotto il Caskroom, mentre i loro bundle app di solito vivono in /Applications.
I download usano il percorso riportato da brew --cache e vengono trattenuti secondo
la policy di Homebrew. brew cleanup usa i metadati di versione installata, di retention e di
dipendenza, piuttosto che eliminare semplicemente ogni directory non corrente. brew autoremove
espone la sola parte sulle dipendenze come comando separato. Poiché entrambi agiscono sui
registri di Homebrew anziché indovinare, sono più sicuri e più spiegabili di una rimozione
manuale delle cartelle. Un'anteprima resta utile sulle macchine che dipendono da toolchain vecchie o
bottle offline.
Dove un altro strumento dovrebbe fermarsi
Una mappa del disco o un cleaner può mostrare la cache di Homebrew e la sua dimensione. Mole può far emergere quella categoria, ma i comandi di Homebrew restano autorevoli per le versioni del Cellar e le relazioni di dipendenza. Individuare file grandi non significa sapere quali pacchetti ne hanno bisogno.
Un ordine di operazioni sicuro
Usa i comandi di Homebrew per trovare e misurare le sue cartelle, controlla l'anteprima con brew cleanup -n ed esegui
la pulizia ordinaria prima di considerare -s. Controlla separatamente l'anteprima di brew autoremove perché
risponde a una domanda sulle dipendenze, non sulla cache. Non serve una pianificazione fissa di
pulizia quando la pulizia automatica funziona e la pressione sul disco è bassa.