AskClean

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.

Uno scaffale illuminato con bottiglie e scatole archiviate, mentre alcune bottiglie sono separate in un contenitore per il riciclo
Lo spazio di Homebrew ha costi di ripristino diversi: controlla in anteprima download e vecchie versioni, ma proteggi gli strumenti attuali e la loro configurazione.

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.

  1. Esegui brew --cache e misura il percorso restituito con du -sh "$(brew --cache)".
  2. Esegui brew cleanup -n e controlla ogni download, ogni vecchia versione e ogni dipendenza proposta per la disinstallazione automatica.
  3. Confronta le versioni necessarie con brew list --versions e verifica rete, proxy e disponibilità per i download futuri.
  4. 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).
  5. 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 azioneDove verificareConseguenza
Distingui download, vecchi keg e strumenti attualibrew --cacheHomebrew 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 candidatobrew cleanup -nMisura la cache attiva con du -sh "$(brew --cache)" ed esegui brew cleanup -n.
Scegli il comando cleanup con l’ambito minimobrew cleanup / brew cleanup -s / brew cleanup --prune=allDopo 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 verificabrew 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

Continua a liberare lo spazio occupato dagli strumenti di sviluppo