AskClean

Näin tyhjennät Homebrew-välimuistin ja poistat vanhat versiot Macissa

AskClean-tiimi · Päivitetty 2026-11-02

Esikatsele ennen muutoksia komennolla HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n. Tavallinen brew cleanup poistaa vanhentuneet lukkotiedostot ja lataukset sekä asennettujen formula-pakettien vanhat versiot, ja ellei HOMEBREW_NO_AUTOREMOVE ole asetettu, se poistaa myös riippuvuudet, joita mikään ei enää tarvitse. Valitsin -s eli --scrub menee pidemmälle: se poistaa välimuistista myös uusimpien versioiden lataukset, esimerkiksi sellaisten pakettien, jotka olet hakenut mutta jättänyt asentamatta tai jotka olet sittemmin poistanut. Edelleen asennettujen pakettien lataukset säilyvät joka tapauksessa. --prune=all poistaa välimuistitiedostot iästä riippumatta. Tarkista aktiivinen välimuistipolku komennolla brew --cache.

Valaistussa kaapissa on tummia pulloja ja pakkauslaatikoita, ja osa pulloista on eroteltu edessä olevaan kierrätysastiaan
Homebrewin tallennuskohteiden palautuskustannukset vaihtelevat: tarkista lataukset ja vanhat versiot mutta suojaa nykyiset työkalut ja asetukset.

Erota latausvälimuisti asennetuista työkaluista

Homebrew säilyttää bottle-tiedostot, lähdearkistot ja cask-lataukset tavallisesti polussa ~/Library/Caches/Homebrew; HOMEBREW_CACHE voi muuttaa sijaintia. Asennetut formula-paketit ovat versiokansioina Cellarissa, cask-paketit Caskroomissa ja aktiiviset linkit Homebrewin prefix-hakemistossa. Etsi oikeat sijainnit komennoilla brew --cache, brew --cellar, brew --caskroom ja brew --prefix. Cellar, Caskroom, prefix, Brewfile, asetustiedostot, palvelut, tietokannat ja projektitiedostot eivät ole yleistä välimuistia.

Esikatsele jokainen ehdokas muuttamatta mitään

Mittaa aktiivinen välimuisti komennolla du -sh "$(brew --cache)" ja esikatsele cleanup ilman riippuvuuksien automaattista poistamista komennolla HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n. Esikatselu näyttää sekä vanhentuneet lataukset että asennettujen formula-pakettien aiemmat versiot. Suorita lisäksi brew autoremove --dry-run erillisenä tarkistuksena. Vertaa tärkeiden työkalujen versioita komennolla brew list --versions ja tarkista, tarvitseeko jokin skripti tai palautussuunnitelma vanhaa versiota. Esikatselu ei ole varmuuskopio: varsinaisen siivouksen jälkeen tiedostot eivät välttämättä ole roskakorissa eikä täsmällistä versiota ehkä enää saa lähteestä.

  1. Suorita brew --cache ja mittaa sen ilmoittama latausvälimuisti komennolla du -sh "$(brew --cache)".
  2. Suorita HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n ja sen jälkeen brew autoremove --dry-run; tarkista jokainen ehdotettu lataus, formula-paketin vanha versio ja käyttämätön riippuvuus.
  3. Vertaa tarvittavia nykyisiä ja vanhoja versioita komennolla brew list --versions ja tarkista verkon, välityspalvelimen sekä lähteiden saatavuus myöhempiä latauksia varten.
  4. Käytä tavalliseen ylläpitoon komentoa HOMEBREW_NO_AUTOREMOVE=1 brew cleanup tai suorita vastaavan --prune=all-esikatselun jälkeen sama komento ilman -n-valitsinta, jos haluat poistaa välimuistin ikärajasta riippumatta.
  5. Mittaa välimuisti uudelleen, suorita brew cleanup -n ja brew list --versions ja testaa vähintään yksi tärkeä Homebrew-työkalu.

Esikatselu ei ole varmuuskopio. Käytä samaa HOMEBREW_NO_AUTOREMOVE=1-asetusta esikatselussa ja varsinaisessa cleanup-suorituksessa. Poistettu vanha versio tai suoraan skriptistä käytetty riippuvuus voi rikkoa dokumentoimattoman palautusmenettelyn tai skriptin, eikä täsmällistä versiota ehkä voi enää palauttaa.

Valitse suppein riittävä brew cleanup -komento

Käytä tarkistuksen jälkeen komentoa HOMEBREW_NO_AUTOREMOVE=1 brew cleanup tavalliseen, nykyisin 120 päivän ikärajaan perustuvaan ylläpitoon ilman käyttämättömien riippuvuuksien automaattista poistamista. Jos haluat kaikki välimuistitiedostot pois iästä riippumatta, suorita ensin HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all ja vasta sitten sama komento ilman -n-valitsinta. Valitsin -s (--scrub) laajentaa siivouksen myös tuoreisiin, uusimpien versioiden latauksiin mutta säilyttää asennettujen pakettien lataukset; se ei tarkoita ”turvallista” eikä koko välimuistin tyhjentämistä, ja --prune=all muuttaa eri asiaa eli ikärajaa. Esikatsele tarkka yhdistelmä, esimerkiksi brew cleanup -n -s. Tulevat asennukset, uudelleenasennukset ja lähdekäännökset joutuvat lataamaan bottle-tiedostot, arkistot ja suuret asentimet uudelleen. cleanup ei yleisesti poista nykyisiä paketteja, mutta se voi poistaa vanhoja versioita ja tehdä täsmällisestä palautuksesta mahdottoman.

Käsittele autoremove, käyttäjän data ja tarkistus erikseen

brew autoremove ei ole välimuistin tyhjennystä, vaan poistaa formula-paketteja, joita Homebrew ei enää pidä tarvittuina riippuvuuksina. Homebrew voi kutsua autoremovea automaattisesti komennoista brew cleanup ja brew uninstall; aseta suoritukselle HOMEBREW_NO_AUTOREMOVE=1, kun haluat arvioida riippuvuuksien poistamisen erikseen. Esikatsele ehdokkaat komennolla brew autoremove --dry-run, sillä oma skripti voi käyttää tällaista työkalua Homebrewin riippuvuusgraafin ulkopuolella. Mittaa siivouksen jälkeen välimuisti uudelleen, suorita brew cleanup -n ja brew list --versions ja testaa tärkeät komennot. AskClean voi näyttää Homebrew-välimuistin yhtenä tarkistettavana kohteena ja poistaa sen hyväksynnästäsi pysyvästi kokonaisena; Cellarin vanhoihin versioihin se ei koske. Pakettitietoiset päätökset latauksista ja vanhoista versioista tehdään Homebrewin omalla esikatselulla.

Poiston rajat ja palauttamisen kustannukset

Selvitä, mitä brew cleanup -s (--scrub) poistaa, esikatsele muutokset, siivoa vanhat lataukset ja formula-versiot ja suojaa nykyiset työkalut ja asetukset.

Kohde tai toimintoTarkistuspaikka tai -komentoSeuraus
Erota latausvälimuisti asennetuista työkaluistabrew --cacheHomebrew säilyttää bottle-tiedostot, lähdearkistot ja cask-lataukset tavallisesti polussa ~/Library/Caches/Homebrew; HOMEBREW_CACHE voi muuttaa sijaintia.
Esikatsele jokainen ehdokas muuttamatta mitäänHOMEBREW_NO_AUTOREMOVE=1 brew cleanup -nMittaa aktiivinen välimuisti komennolla du -sh "$(brew --cache)" ja esikatsele cleanup ilman riippuvuuksien automaattista poistamista komennolla HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n.
Valitse suppein riittävä brew cleanup -komentoHOMEBREW_NO_AUTOREMOVE=1 brew cleanup / HOMEBREW_NO_AUTOREMOVE=1 brew cleanup --prune=allKäytä tarkistuksen jälkeen komentoa HOMEBREW_NO_AUTOREMOVE=1 brew cleanup tavalliseen, nykyisin 120 päivän ikärajaan perustuvaan ylläpitoon ilman käyttämättömien riippuvuuksien automaattista poistamista.
Käsittele autoremove, käyttäjän data ja tarkistus erikseenbrew autoremove --dry-run (asennuksen poisto, ei välimuistin tyhjennys)brew autoremove ei ole välimuistin tyhjennystä, vaan poistaa formula-paketteja, joita Homebrew ei enää pidä tarvittuina riippuvuuksina.

UKK

Onko brew cleanup turvallinen Macissa?

Se on tuettu Homebrew-komento, mutta vanhentuneiden latausten lisäksi se poistaa asennettujen formula-pakettien aiempia versioita ja voi käynnistää autoremoven automaattisesti. Esikatsele siksi ensin komennolla HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n ja tarkista autoremove erikseen komennolla brew autoremove --dry-run.

Mitä brew cleanup -s ja brew cleanup --prune=all poistavat?

-s eli --scrub poistaa välimuistista myös asentamattomien pakettien uusimpien versioiden lataukset – esimerkiksi sellaisten pakettien, jotka olet hakenut mutta jättänyt asentamatta tai jotka olet sittemmin poistanut. Edelleen asennettujen formula- ja cask-pakettien lataukset säilyvät. --prune=all poistaa välimuistitiedostot iästä riippumatta. Kumpikin tekee lisäksi tavallisen cleanupin, joka voi poistaa vanhentuneita lukkotiedostoja ja formula-pakettien vanhoja versioita. Esikatsele komennoilla brew cleanup -n -s ja HOMEBREW_NO_AUTOREMOVE=1 brew cleanup -n --prune=all.

Kannattaako seuraavaksi suorittaa brew autoremove?

Ei rutiinina. brew autoremove poistaa riippuvuuksina asennettuja formula-paketteja eikä tyhjennä latausvälimuistia. Arvioi tämä erillinen päätös ensin komennolla brew autoremove --dry-run. Muista myös, että brew cleanup voi kutsua autoremovea, ellei HOMEBREW_NO_AUTOREMOVE ole asetettu.

Lähteet

Lisää oppaita kehitysympäristön tallennustilan hallintaan