AskClean

Sådan rydder du npm-cachen sikkert på Mac

AskClean-teamet · Opdateret 2026-11-02

Find den aktive cache med npm config get cache, mål den viste sti med du, og kør npm cache verify før oprydning. Brug kun npm cache clean --force, når du bevidst vil frigøre den målte plads og accepterer langsommere, netværksafhængige installationer bagefter. Projektets node_modules, package.json og lockfil skal blive liggende.

Pakkeblokke strømmer gennem en rund cache med et verifikationsskjold, mens mapper og notesblok ligger beskyttet ved siden af
npm-cachen rummer genbrugelige downloads; projektets manifest, lockfil og installerede node_modules er separate data.

Cachen er ikke projektets afhængigheder

npm's delte, indholdsadresserede downloadcache ligger normalt under ~/.npm, men kan være konfigureret til en anden placering. node_modules er derimod ét projekts installerede afhængigheder. package.json, package-lock.json og npm-shrinkwrap.json er projektfiler, ikke cache. npm v12 læser ikke npm-shrinkwrap.json; omdøb den kun til package-lock.json, hvis den er projektets eneste lockfil, og package-lock.json ikke findes. Overskriv aldrig en eksisterende lockfil under cachevedligeholdelse.

Find, mål og verificer den aktive cache

Gå ikke ud fra, at en eksisterende ~/.npm er den aktive cache: npmrc-filer og miljøvariabler kan ændre placeringen. Kør npm --version og npm config get cache, mål præcis den viste sti med du -sh, og kør derefter npm cache verify. Kommandoen kontrollerer indeks og cachedata, verificerer integriteten og fjerner overflødige data, mens gyldige downloads bevares. Til almindelig vedligeholdelse er det ofte nok.

  1. Kør npm --version og npm config get cache, og bekræft, at den viste sti er en cache og ikke en projektmappe.
  2. Mål den nøjagtige sti med du -sh, og noter macOS' ledige plads.
  3. Stop npm install, npm ci, npm exec og publiceringsprocesser, og kør npm cache verify.
  4. Kør kun npm cache clean --force, hvis pladsbehovet eller en bekræftet cachespecifik fejl begrunder det.
  5. Kør npm cache verify igen, mål samme sti, og kør installation, build og test i et repræsentativt projekt uden at ændre package.json eller lockfilen.

Indsæt aldrig en ukontrolleret sti i rm -rf, og kombiner ikke cacheoprydning med sletning eller nyoprettelse af lockfiler. Ellers ændrer du både downloadlager og afhængighedsløsning på én gang og mister sammenligningsgrundlaget.

Ryd kun med en konkret grund

Brug kun npm cache clean --force, hvis den målte cache er stor nok til at gøre en forskel, pladsen er nødvendig nu, eller npm cache verify har efterladt en bekræftet cachespecifik fejl. Kommandoen fjerner genbrugelige downloads, ikke node_modules eller lockfiler. Senere installationer kan blive langsommere eller fejle uden internet, adgang til private pakkeregistre, proxy, Git-kilder eller pakker, der ikke længere udbydes. Indstil ikke force permanent i npm-konfigurationen.

Verificer plads og projekt bagefter

Kør npm config get cache igen, mål den samme sti, og kontroller den faktiske ledige plads i macOS. Kør derefter den normale installation eller build i ét repræsentativt projekt med uændrede package.json og lockfil, og kør projektets test. Kommer den oprindelige fejl igen, skal du ikke rydde cachen på ny: Undersøg Node.js-version, pakkeregister, login, netværk, proxy eller certifikater, peer-afhængigheder, native builds og lifecycle-scripts. AskClean genkender kun standardstien ~/.npm og sletter et godkendt npm-element permanent som én samlet cache; brugerdefinerede cacheplaceringer skal du kontrollere med npm selv.

Beslutningsgrundlag og slettegrænser

Find og mål npm's aktive downloadcache, verificer den først, og ryd den kun med en konkret grund — uden at røre node_modules, package.json eller lockfiler.

ElementHer tjekker duKonsekvens og grænser
Cachen er ikke projektets afhængighedernpm config get cachenpm's delte, indholdsadresserede downloadcache ligger normalt under ~/.npm, men kan være konfigureret til en anden placering. node_modules er derimod ét projekts installerede afhængigheder. package.json, package-lock.json og npm-shrinkwrap.json er projektfiler, ikke cache.
Find, mål og verificer den aktive cachenpm cache verifyGå ikke ud fra, at en eksisterende ~/.npm er den aktive cache: npmrc-filer og miljøvariabler kan ændre placeringen.
Ryd kun med en konkret grundnpm cache clean --forceBrug kun npm cache clean --force, hvis den målte cache er stor nok til at gøre en forskel, pladsen er nødvendig nu, eller npm cache verify har efterladt en bekræftet cachespecifik fejl.
Verificer plads og projekt bagefterinstallation + kontrol uden net eller med privat pakkeregisterKør npm config get cache igen, mål den samme sti, og kontroller den faktiske ledige plads i macOS.

FAQ

Er npm cache clean --force sikkert på en Mac?

Det rører ikke projektkoden, når npm peger på den rigtige cache, men det kasserer genbrugelige downloads. Mål og verificer først, stop aktive npm-processer, og forvent netværksbrug bagefter.

Skal jeg bruge npm cache verify eller clean?

Brug npm cache verify først. Brug kun npm cache clean --force til målt pladsfrigørelse eller en bekræftet cachefejl, som verificeringen ikke løser.

Sletter cacheoprydning node_modules eller package-lock.json?

Nej. De ligger uden for npm's downloadcache. Bevar dem. npm v12 læser ikke npm-shrinkwrap.json; omdøb den kun, hvis den er projektets eneste lockfil, og package-lock.json ikke allerede findes. Slet eller overskriv aldrig en lockfil som led i cacheoprydning.

Kilder

Flere guider om plads på en udvikler-Mac