AskCleanAskClean

Näin tyhjennät npm-välimuistin turvallisesti Macissa

AskClean-tiimi · Päivitetty 2026-08-05

Etsi aktiivinen välimuisti komennolla npm config get cache, mittaa täsmälleen sen ilmoittama polku ja suorita npm cache verify ennen poistamista. Käytä npm cache clean --force -komentoa vain, kun tarvitset levytilaa ja hyväksyt tulevat uudelleenlataukset. node_modules, package.json ja lukitustiedosto eivät kuulu välimuistiin.

Pakettimoduuleja kulkee pyöreän välimuistin ja tarkistusmerkillä varustetun kilven kautta kierrätysastiaan, kun projektikansiot ja muistilehtiö jäävät suojatuiksi
npm-välimuisti sisältää uudelleenkäytettäviä latauksia; projektin määritystiedostot, lukitustiedostot ja asennettu node_modules-kansio ovat erillisiä tietoja.

Erota npm-välimuisti riippuvuuksista ja projektitiedostoista

npm-välimuisti säilyttää useiden projektien uudelleenkäytettäviä latauksia ja sijaitsee macOS:ssä tavallisesti polussa ~/.npm, mutta sijainti voi olla mukautettu. node_modules on sen sijaan projektin asennettu riippuvuuspuu. package.json ja package-lock.json ovat projektin tietoja, eivät välimuistia. npm-shrinkwrap.json ei sekään ole välimuistia, mutta npm v12 ei enää lue sitä. Jos npm-shrinkwrap.json on projektin ainoa lukitustiedosto eikä package-lock.json-tiedostoa ole, nimeä se ennen uutta npm-asennusta uudelleen komennolla mv npm-shrinkwrap.json package-lock.json. Älä korvaa olemassa olevaa package-lock.json-tiedostoa.

Mittaa aktiivinen välimuisti ja tarkista se ensin

Älä oleta olemassa olevan ~/.npm-kansion olevan aktiivinen välimuisti. npm config get cache näyttää nykyisen kokoonpanon käyttämän polun. Mittaa juuri se polku komennolla du -sh "$(npm config get cache)" ja kirjaa macOS:n vapaa tila. npm cache verify tarkistaa välimuistin indeksin ja datan eheyden sekä kerää tarpeettoman datan pois säilyttäen kelvollisen sisällön. Tavalliseen ylläpitoon tämä usein riittää.

  1. Suorita npm --version ja npm config get cache ja varmista, että tulostettu polku on välimuisti eikä projektikansio.
  2. Mittaa täsmälleen tämä polku komennolla du -sh "$(npm config get cache)" ja kirjaa macOS:n vapaa tila; jätä package.json ja lukitustiedostot muuttamatta.
  3. Pysäytä aktiiviset npm install-, npm ci-, npm exec- ja julkaisuprosessit, suorita npm cache verify ja tallenna yhteenveto sekä mahdolliset virheet.
  4. Suorita npm cache clean --force vain, jos npm cache verify ei riitä, tilahyöty on olennainen ja kaikki tarvittavat artefaktit ovat yhä saatavilla.
  5. Suorita npm cache verify uudelleen, mittaa sama polku ja testaa edustava projekti muuttamattomalla lukitustiedostolla, koonnilla ja testeillä.

Älä koskaan anna tarkistamatonta polkua komennolle rm -rf. Älä myöskään yhdistä välimuistin tyhjennykseen lukitustiedoston poistamista tai luomista uudelleen: silloin muutat kahta syytä yhtä aikaa ja menetät vertailukelpoisen diagnoosin.

Käytä npm cache clean --force -komentoa harkiten

Suorita npm cache clean --force vain, jos mitattu välimuisti on merkityksellisen suuri, tarvitset tilan nyt ja paketit voidaan ladata uudelleen. Komento tyhjentää määritetyn välimuistin, ei node_modules-kansioita tai lukitustiedostoja. Seuraavat asennukset ja npm ci voivat olla hitaampia tai epäonnistua ilman verkkoa; yksityiset rekisterit, Git-palvelimet, välityspalvelimet ja jakelusta poistuneet paketit kasvattavat palautuskustannusta. Älä tee force-asetuksesta pysyvää npm-määritystä.

Varmista tulos muuttamatta riippuvuuspuuta

Pyydä välimuistipolku uudelleen tyhjennyksen jälkeen, mittaa sama sijainti ja vertaa macOS:n todellista vapaata tilaa. Testaa yksi edustava projekti muuttamattomilla package.json- ja lukitustiedostoilla sekä sen koonnilla ja testeillä. Jos sama virhe palaa, älä tyhjennä välimuistia uudelleen: ERESOLVE, puuttuva tunnistautuminen, 404, välityspalvelin- tai varmennevirhe, Node.js-moottorivaatimus, natiivimoduulin käännös tai elinkaariskripti vaatii oman diagnoosinsa. AskClean tunnistaa oletuspolun ~/.npm; tarkista mukautettu polku aina komennolla npm config get cache.

Poiston rajat ja palauttamisen kustannukset

Etsi ja mittaa aktiivinen npm-välimuisti, tarkista se ensin ja tyhjennä vain perustellusta syystä koskematta node_modules-kansioihin tai projektitiedostoihin.

Kohde tai toimintoTarkistuspaikka tai -komentoSeuraus
Erota npm-välimuisti riippuvuuksista ja projektitiedostoistanpm config get cachenpm-välimuisti säilyttää useiden projektien uudelleenkäytettäviä latauksia ja sijaitsee macOS:ssä tavallisesti polussa ~/.npm, mutta sijainti voi olla mukautettu. node_modules on sen sijaan projektin asennettu riippuvuuspuu. package.json ja package-lock.json ovat projektin tietoja, eivät välimuistia. npm-shrinkwrap.json ei sekään ole välimuistia, mutta npm v12 ei enää lue sitä. Jos npm-shrinkwrap.json on projektin ainoa lukitustiedosto eikä package-lock.json-tiedostoa ole, nimeä se ennen uutta npm-asennusta uudelleen komennolla mv npm-shrinkwrap.json package-lock.json. Älä korvaa olemassa olevaa package-lock.json-tiedostoa.
Mittaa aktiivinen välimuisti ja tarkista se ensinnpm cache verifyÄlä oleta olemassa olevan ~/.npm-kansion olevan aktiivinen välimuisti. npm config get cache näyttää nykyisen kokoonpanon käyttämän polun. Mittaa juuri se polku komennolla du -sh "$(npm config get cache)" ja kirjaa macOS:n vapaa tila. npm cache verify tarkistaa välimuistin indeksin ja datan eheyden sekä kerää tarpeettoman datan pois säilyttäen kelvollisen sisällön. Tavalliseen ylläpitoon tämä usein riittää.
Käytä npm cache clean --force -komentoa harkitennpm cache clean --forceSuorita npm cache clean --force vain, jos mitattu välimuisti on merkityksellisen suuri, tarvitset tilan nyt ja paketit voidaan ladata uudelleen. Komento tyhjentää määritetyn välimuistin, ei node_modules-kansioita tai lukitustiedostoja. Seuraavat asennukset ja npm ci voivat olla hitaampia tai epäonnistua ilman verkkoa; yksityiset rekisterit, Git-palvelimet, välityspalvelimet ja jakelusta poistuneet paketit kasvattavat palautuskustannusta. Älä tee force-asetuksesta pysyvää npm-määritystä.
Varmista tulos muuttamatta riippuvuuspuutaasennus + offline-käytön ja yksityisten rekisterien tarkistusPyydä välimuistipolku uudelleen tyhjennyksen jälkeen, mittaa sama sijainti ja vertaa macOS:n todellista vapaata tilaa. Testaa yksi edustava projekti muuttamattomilla package.json- ja lukitustiedostoilla sekä sen koonnilla ja testeillä. Jos sama virhe palaa, älä tyhjennä välimuistia uudelleen: ERESOLVE, puuttuva tunnistautuminen, 404, välityspalvelin- tai varmennevirhe, Node.js-moottorivaatimus, natiivimoduulin käännös tai elinkaariskripti vaatii oman diagnoosinsa. AskClean tunnistaa oletuspolun ~/.npm; tarkista mukautettu polku aina komennolla npm config get cache.

UKK

Onko npm cache clean --force turvallinen Macissa?

Se jättää lähdekoodin ja projektitiedostot rauhaan, jos npm osoittaa oikeaan välimuistiin, mutta uudelleenkäytettävät lataukset poistuvat. Mittaa ja tarkista ensin ja varaudu siihen, että myöhemmät asennukset tarvitsevat verkkoyhteyden.

Suoritanko ensin npm cache verify- vai npm cache clean -toiminnon?

Suorita aina npm cache verify ensin. Se tarkistaa eheyden ja poistaa tarpeettoman datan mutta säilyttää kelvollisen välimuistisisällön. Käytä npm cache clean --force -komentoa vain mitattuun tilapulaan tai vahvistettuun välimuistivirheeseen.

Poistaako npm-välimuistin tyhjennys package-lock.jsonin?

Ei. package.json ja package-lock.json ovat projektitiedostoja. npm v12 ei enää lue npm-shrinkwrap.json-tiedostoa. Jos se on vanhan projektin ainoa lukitustiedosto eikä package-lock.json-tiedostoa ole, nimeä se uudelleen komennolla mv npm-shrinkwrap.json package-lock.json; älä poista tai korvaa lukitustiedostoa välimuistihuollon aikana.

Lähteet

Lisää oppaita kehitysympäristön tallennustilan hallintaan