brew cleanup -s: come svuotare la cache di Homebrew sul Mac
Team AskClean · Aggiornato 2026-11-02
Prima di cambiare qualsiasi cosa esegui brew cleanup -n. Un normale brew cleanup rimuove file di lock obsoleti, download datati e vecchie versioni delle formule e, se HOMEBREW_NO_AUTOREMOVE non è impostata, può disinstallare anche le dipendenze che non servono più. L’opzione -s (--scrub) va oltre: elimina anche i download in cache delle versioni più recenti, come quelli di pacchetti che hai scaricato ma mai installato o che hai già rimosso. I download di tutto ciò che è ancora installato vengono comunque conservati. L’opzione --prune=all rimuove i file di cache indipendentemente dall’età. Con brew --cache verifichi dove si trova la cache attiva.

Distingui download, vecchi keg e strumenti attuali
Homebrew conserva bottle, archivi sorgente e download dei cask di norma in ~/Library/Caches/Homebrew; HOMEBREW_CACHE può cambiare il percorso. Le formule installate risiedono come keg versionati nel Cellar, i cask nel Caskroom e i collegamenti attivi sotto il prefisso. Trova le posizioni reali con brew --cache, brew --cellar, brew --caskroom e brew --prefix. Cellar, Caskroom, prefisso, Brewfile, dotfile, servizi, database e progetti non sono cache da eliminare in blocco.
Visualizza l’anteprima e controlla ogni candidato
Misura la cache attiva con du -sh "$(brew --cache)" ed esegui brew cleanup -n. La simulazione mostra i download obsoleti, le vecchie versioni delle formule installate e le eventuali dipendenze che Homebrew disinstallerebbe automaticamente (alla voce “Would autoremove”). Controlla gli strumenti importanti con brew list --versions e verifica se uno script o un ripristino richiede ancora un vecchio keg. La simulazione non è un backup: ciò che Homebrew elimina non finisce nel Cestino di macOS e potrebbe non essere più disponibile nella stessa versione.
- Esegui brew --cache e misura il percorso restituito con du -sh "$(brew --cache)".
- Esegui brew cleanup -n e controlla ogni download, ogni vecchia versione e ogni dipendenza proposta per la disinstallazione automatica.
- Confronta le versioni necessarie con brew list --versions e verifica rete, proxy e disponibilità per i download futuri.
- Usa brew cleanup per la manutenzione ordinaria dopo aver accettato tutti i candidati; per escludere la rimozione automatica delle dipendenze, esegui HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n e poi HOMEBREW_NO_AUTOREMOVE=1 brew cleanup. Usa brew cleanup -s o brew cleanup --prune=all solo dopo averne controllato la simulazione (brew cleanup -n -s oppure brew cleanup -n --prune=all).
- Misura di nuovo la cache, esegui brew cleanup -n e brew list --versions e prova almeno uno strumento importante installato con Homebrew.
brew cleanup -n è soltanto una simulazione. Eliminare un vecchio keg può compromettere un ripristino o un percorso usato da uno script non documentato, e potrebbe essere impossibile recuperare esattamente quella versione.
Scegli il comando cleanup con l’ambito minimo
Dopo aver controllato la simulazione, usa brew cleanup per la manutenzione ordinaria: per i download, il criterio predefinito riguarda quelli più vecchi di 120 giorni. Se vuoi decidere separatamente sulle dipendenze inutilizzate, esegui HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n e poi HOMEBREW_NO_AUTOREMOVE=1 brew cleanup. brew cleanup -s (--scrub) estende la pulizia ai download recenti delle ultime versioni di pacchetti non installati (scaricati e mai installati, o già rimossi), ma conserva quelli di tutto ciò che è ancora installato: -s non significa “sicuro” né “svuota tutta la cache”, quindi controlla prima brew cleanup -n -s. Per eliminare tutti i file di cache indipendentemente dall’età, esegui prima brew cleanup -n --prune=all e soltanto dopo brew cleanup --prune=all. Le installazioni future dovranno riscaricare bottle, archivi o installer; cleanup può anche rimuovere vecchi keg e impedire un ripristino identico.
Tieni separati autoremove, dati personali e verifica
brew autoremove non pulisce la cache: disinstalla formule che Homebrew considera dipendenze non più necessarie. Un brew cleanup globale però esegue già questa rimozione, a meno che HOMEBREW_NO_AUTOREMOVE non sia impostata. Se vuoi prendere le due decisioni separatamente, usa la variabile sia per la simulazione sia per il cleanup effettivo, poi controlla brew autoremove --dry-run: uno script può usare uno strumento anche se non compare nel grafo delle dipendenze. Dopo cleanup, misura di nuovo, esegui brew cleanup -n e brew list --versions e prova i comandi importanti. AskClean può mostrare la cache di Homebrew come un unico elemento da controllare e, se lo approvi, la elimina definitivamente; non tocca i vecchi keg nel Cellar. Per decidere pacchetto per pacchetto fa fede la simulazione di Homebrew.
Cosa eliminare e quanto costa ripristinarlo
Cosa fa brew cleanup -s (--scrub), come vedere in anteprima la pulizia di Homebrew, rimuovere vecchi download e versioni e proteggere gli strumenti attuali.
| Elemento o azione | Dove verificare | Conseguenza |
|---|---|---|
| Distingui download, vecchi keg e strumenti attuali | brew --cache | Homebrew conserva bottle, archivi sorgente e download dei cask di norma in ~/Library/Caches/Homebrew; HOMEBREW_CACHE può cambiare il percorso. |
| Visualizza l’anteprima e controlla ogni candidato | brew cleanup -n | Misura la cache attiva con du -sh "$(brew --cache)" ed esegui brew cleanup -n. |
| Scegli il comando cleanup con l’ambito minimo | brew cleanup / brew cleanup -s / brew cleanup --prune=all | Dopo aver controllato la simulazione, usa brew cleanup per la manutenzione ordinaria: per i download, il criterio predefinito riguarda quelli più vecchi di 120 giorni. |
| Tieni separati autoremove, dati personali e verifica | brew autoremove --dry-run (non è una pulizia della cache) | brew autoremove non pulisce la cache: disinstalla formule che Homebrew considera dipendenze non più necessarie. |
FAQ
È sicuro eseguire brew cleanup sul Mac?
È un comando ufficiale di Homebrew, ma oltre ai download obsoleti rimuove vecchie versioni delle formule e, se HOMEBREW_NO_AUTOREMOVE non è impostata, le dipendenze che non servono più. Esegui sempre prima brew cleanup -n, conserva i keg necessari e usa HOMEBREW_NO_AUTOREMOVE=1 se vuoi decidere separatamente sulle dipendenze inutilizzate.
Che cosa eliminano brew cleanup -s e brew cleanup --prune=all?
-s (--scrub) elimina anche i download in cache delle versioni più recenti di pacchetti non installati, come quelli scaricati e mai installati o già rimossi; i download delle formule e dei cask ancora installati vengono conservati. --prune=all rimuove i file di cache indipendentemente dall’età. In entrambi i casi cleanup può rimuovere anche lock obsoleti, vecchie versioni delle formule e dipendenze inutilizzate: controlla l’elenco esatto con brew cleanup -n -s o brew cleanup -n --prune=all.
Devo eseguire brew autoremove subito dopo?
Di solito no: se HOMEBREW_NO_AUTOREMOVE non è impostata, un brew cleanup globale esegue già la stessa rimozione. brew autoremove disinstalla formule installate come dipendenze e non pulisce la cache; se vuoi decidere a parte, usa la variabile durante cleanup e poi controlla brew autoremove --dry-run.
Fonti