AskCleanAskClean

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

AskClean-teamet · Opdateret 2026-08-05

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
Verificér og ryd genbrugelige downloads i npm-cachen uden at røre projektmapper, manifest, lockfile eller node_modules.

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 verificér 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 notér 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.

Verificér plads og projekt bagefter

Kør npm config get cache igen, mål den samme sti, og kontrollér 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 standardstien ~/.npm; kontrollér brugerdefinerede cacheplaceringer med npm selv.

Beslutningsgrundlag og slettegrænser

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

Element eller handlingKontrollér herKonsekvens
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. 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 verificér den aktive cachenpm cache verifyGå 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.
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. 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.
Verificér plads og projekt bagefterinstallation + kontrol uden net eller med privat pakkeregisterKør npm config get cache igen, mål den samme sti, og kontrollér 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 standardstien ~/.npm; kontrollér brugerdefinerede cacheplaceringer med npm selv.

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 verificér 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 udviklerlager