Sviluppatori

Pulizia di Homebrew: come liberare lo spazio che brew occupa sul Mac

Cosa rimuove e conserva brew cleanup, come svuotare la cache dei download, togliere dipendenze orfane e vecchie versioni e misurare quanto occupa Homebrew.

Lettura: 5 minA cura del team di MoreRoom, Yando Pte. Ltd.Questa pagina in Markdown

In breve

  • brew cleanup rimuove le vecchie versioni delle formule installate, i file di lock obsoleti e, per impostazione predefinita, i download più vecchi di 120 giorni.
  • brew cleanup --prune=all rimuove anche tutti i download in cache, a prescindere dall’età; esegui prima brew cleanup -n per un’anteprima.
  • brew autoremove disinstalla le dipendenze che nessuna formula installata richiede più.
  • Homebrew si trova in /opt/homebrew sui Mac con Apple silicon e in /usr/local sui Mac Intel; la cache dei download è in ~/Library/Caches/Homebrew.
  • brew uninstall --zap rimuove un’app cask con le sue impostazioni e i file di supporto, tra cui possono esserci file condivisi con altre app.

Come fare pulizia di Homebrew su un Mac

  1. Misura quanto occupa Homebrew. Esegui du -sh "$(brew --cache)" per la cache dei download e du -sh "$(brew --cellar)" per le formule installate.
  2. Visualizza l’anteprima della pulizia. Esegui brew cleanup -n per elencare cosa verrebbe rimosso e quanto spazio si libererebbe, senza eliminare nulla.
  3. Esegui la pulizia. Esegui brew cleanup per rimuovere le vecchie versioni e i vecchi download, oppure brew cleanup --prune=all per svuotare completamente la cache dei download.
  4. Rimuovi le dipendenze orfane. Esegui brew autoremove -n per un’anteprima, poi brew autoremove per disinstallare le dipendenze che non servono a nessun’altra formula.
  5. Disinstalla ciò che non usi più. Esegui brew leaves --installed-on-request per vedere cosa hai installato tu, poi brew uninstall per ciò che non ti serve più.
  6. Controlla che non ci siano problemi. Esegui brew doctor per verificare che l’installazione sia in buono stato dopo la pulizia.

Homebrew conserva le vecchie versioni di ciò che aggiorni e una cache di ciò che scarica, quindi cresce lentamente. brew cleanup rimuove le vecchie versioni e i download più vecchi di 120 giorni; brew cleanup --prune=all svuota completamente la cache dei download; brew autoremove disinstalla le dipendenze che non servono più a niente. Sono tutti e tre comandi ufficiali, e nessuno tocca la versione attuale di ciò che usi.

I comandi e i valori predefiniti qui sotto provengono dal manuale di Homebrew a ottobre 2026 (Homebrew 7).

Dove Homebrew conserva i suoi file

Cosa Apple silicon Intel
Prefisso (brew --prefix) /opt/homebrew /usr/local
Formule installate (brew --cellar) /opt/homebrew/Cellar /usr/local/Cellar
Cask (brew --caskroom) /opt/homebrew/Caskroom /usr/local/Caskroom
Cache dei download (brew --cache) ~/Library/Caches/Homebrew ~/Library/Caches/Homebrew

macOS 27 Golden Gate funziona solo su Apple silicon, quindi le nuove installazioni usano /opt/homebrew. I Mac Intel, che restano a macOS 26 Tahoe o precedenti, continuano a usare /usr/local. Un Mac migrato da un modello Intel può averli entrambi; brew --prefix ti dice quale è attivo.

Le app cask vere e proprie vengono installate in /Applications, come qualsiasi altra app.

Come la cache dei download, il Cellar e i cask di Homebrew corrispondono ai comandi di pulizia

Misurare prima di pulire

du -sh "$(brew --cache)"
du -sh "$(brew --cellar)"
du -sh "$(brew --cellar)"/* | sort -h | tail -20

Le prime due righe mostrano la dimensione della cache dei download e di tutte le formule installate. La terza elenca le 20 formule più grandi. Ogni cartella nel Cellar contiene una sottocartella per ciascuna versione installata, quindi brew list --versions mostra quali formule ne hanno più di una.

brew cleanup: cosa rimuove e cosa conserva

brew cleanup -n
brew cleanup

brew cleanup -n (o --dry-run) elenca ogni file che rimuoverebbe e termina con una stima dello spazio che libererebbe. Non viene eliminato nulla. brew cleanup da solo poi:

  • rimuove le vecchie versioni delle formule installate, conservando quella attuale;
  • rimuove i file di lock obsoleti e i download superati di formule e cask;
  • rimuove qualsiasi download più vecchio di 120 giorni. HOMEBREW_CLEANUP_MAX_AGE_DAYS modifica questo numero.

Per impostazione predefinita rimuove anche le dipendenze che non servono più, come brew autoremove, a meno che tu non imposti HOMEBREW_NO_AUTOREMOVE.

Per ripulire una sola formula o un solo cask, indicane il nome: brew cleanup node.

Andare oltre con –prune

brew cleanup --prune=all

--prune accetta un numero di giorni e rimuove tutti i file in cache più vecchi; --prune=all li rimuove a prescindere dall’età. -s (--scrub) rimuove anche i download delle versioni più recenti, ma conserva comunque i download delle formule e dei cask attualmente installati. L’aiuto di Homebrew ricorda che rm -rf "$(brew --cache)" rimuove anche quelli. La cache contiene solo download, quindi ognuna di queste opzioni è sicura; Homebrew scarica di nuovo ciò che gli serve.

Tutte queste eliminazioni sono definitive: niente finisce nel Cestino.

Pulizia automatica

Homebrew fa già un po’ di pulizia da solo. Dopo brew install, brew upgrade e brew reinstall esegue una pulizia delle formule coinvolte, e ogni 30 giorni (HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS) di tutto. Se imposti HOMEBREW_NO_INSTALL_CLEANUP nel profilo della shell, questo non avviene mai, e ciò spiega un Cellar pieno di vecchie versioni. Rimuovi la variabile o esegui tu brew cleanup di tanto in tanto. Per proteggere formule specifiche, elencale in HOMEBREW_NO_CLEANUP_FORMULAE.

Rimuovere le dipendenze che non servono a niente

Quando disinstalli una formula, le librerie che aveva portato con sé possono restare.

brew autoremove -n
brew autoremove

brew autoremove disinstalla le formule che erano state installate solo come dipendenze e non servono più a niente. La versione con -n mostra prima l’elenco.

Disinstallare ciò che non usi più

brew leaves --installed-on-request
brew uninstall <formula>

brew leaves elenca le formule da cui non dipende nient’altro, e --installed-on-request (-r) limita l’elenco a quelle che hai installato tu. Di solito è l’elenco più breve da esaminare. Disinstallare una formula la rimuove definitivamente dal Cellar; reinstallarla significa scaricarla di nuovo.

Cask e –zap

brew uninstall --cask <cask>
brew uninstall --zap <cask>

Una disinstallazione normale rimuove l’app. --zap rimuove anche i file che la definizione del cask indica come appartenenti all’app, come preferenze, cache e cartelle di supporto in ~/Library. Il manuale di Homebrew avverte che può rimuovere file condivisi tra applicazioni, quindi usalo per le app che vuoi davvero eliminare insieme alle loro impostazioni. Per le app non installate con Homebrew, leggi come disinstallare completamente le app per Mac.

Prima di disinstallare, controlla cosa ne dipende

brew uses --installed <formula>

Questo comando elenca le formule e i cask installati che richiedono quella che stai per rimuovere. Se l’elenco non è vuoto, Homebrew si rifiuta di disinstallarla a meno che tu non aggiunga --ignore-dependencies, che può rompere quei pacchetti. Di solito è meglio lasciare stare le librerie condivise e lasciare che brew autoremove le raccolga quando non servono più a nessuno.

Perché Homebrew può restare grande dopo una pulizia

Una pulizia rimuove gli avanzi, non i pacchetti che usi. Toolchain, compilatori e framework di grandi dimensioni sono pesanti per natura, e ognuno può portarsi dietro decine di dipendenze. Se il Cellar è ancora grande, il terzo comando du qui sopra mostra quali formule pesano di più. Disinstalla quelle che non ti servono più, poi esegui brew autoremove perché le loro dipendenze le seguano.

Controllare il risultato

brew doctor

brew doctor controlla l’installazione alla ricerca di possibili problemi ed esce con un errore se ne trova. La maggior parte degli avvisi è solo informativa, ma è un buon passaggio finale dopo una pulizia o dopo la migrazione a un nuovo Mac.

Come ti aiuta MoreRoom

La versione gratuita di MoreRoom riconosce la cache dei download e il Cellar di Homebrew e ne mostra la dimensione. La cache dei download è contrassegnata come «Rimozione sicura» e il Cellar come «Da verificare». Quando ripulisci l’una o l’altro, MoreRoom esegue il comando ufficiale di Homebrew brew cleanup --prune=all, che rimuove le vecchie versioni e i download in cache ma mai i pacchetti che usi. Quel comando è definitivo e viene segnalato come tale. MoreRoom non disinstalla formule o cask al posto tuo; per questo usa brew uninstall.

Pro aggiunge il Raccoglitore, per fare pulizia di più elementi in un colpo solo, e la modalità obiettivo, che sceglie la selezione più sicura per lo spazio che ti serve.

Domande frequenti

brew cleanup è sicuro?

Sì. Rimuove solo le vecchie versioni delle formule per cui è installata una versione più recente, i file di lock obsoleti e i vecchi download in cache. Le versioni attuali di tutto ciò che hai installato restano al loro posto e continuano a funzionare.

Homebrew fa pulizia in automatico?

In parte. Dopo brew install, upgrade o reinstall ripulisce le formule coinvolte, e ogni 30 giorni esegue una pulizia completa. Impostando HOMEBREW_NO_INSTALL_CLEANUP questo comportamento si disattiva.

Posso eliminare ~/Library/Caches/Homebrew?

Sì. Contiene solo download, e Homebrew li scarica di nuovo se servono. brew cleanup --prune=all è il modo pulito; l’aiuto di Homebrew cita rm -rf "$(brew --cache)" per rimuovere anche i download dei pacchetti installati.

Che differenza c’è tra brew autoremove e brew cleanup?

brew cleanup rimuove le vecchie versioni e i download in cache di ciò che usi ancora. brew autoremove disinstalla intere formule che erano state installate solo come dipendenze e non servono più a niente.

Dov’è installato Homebrew sul mio Mac?

In /opt/homebrew sui Mac con Apple silicon e in /usr/local sui Mac Intel. Esegui brew --prefix per vedere il tuo.

Cartelle citate in questa guida