Jak bezpečně vyčistit mezipaměť npm na Macu
Tým AskClean · Aktualizováno 2026-11-02
Spusťte npm config get cache, změřte uvedenou složku a před odstraněním použijte npm cache verify. Po npm cache clean --force budou další instalace balíčky znovu stahovat; příkaz však nemaže node_modules, package.json ani lockfile. Úplné vyčištění má smysl jen při změřeném nedostatku místa nebo potvrzené chybě samotné mezipaměti.

Rozlište mezipaměť, závislosti a soubory projektu
npm uchovává sdílená stažená data v obsahově adresovaném úložišti, ve výchozím stavu v ~/.npm, aktivní cestu však může změnit konfigurace. node_modules je nainstalovaný strom závislostí jednoho projektu, zatímco package.json a package-lock.json popisují stav projektu; nic z toho není mezipaměť. Mezipamětí není ani npm-shrinkwrap.json, npm v12 ho ale už nečte. Pokud jde o jediný lockfile starého projektu, přejmenujte tento shodně formátovaný soubor před novou instalací pomocí npm v12 na package-lock.json; existující package-lock.json nikdy nepřepisujte.
Najděte, změřte a nejprve ověřte
Zkontrolujte npm --version a místo předpokladu, že se používá ~/.npm, spusťte npm config get cache. Přesnou vrácenou cestu změřte příkazem du -sh, zastavte běžící procesy npm install, npm ci, npm exec i publikování a poté spusťte npm cache verify. Tento příkaz ověří integritu a odstraní nepotřebná data, platný obsah ale ponechá. Po novém měření často zjistíte, že pro běžnou údržbu další zásah není nutný.
- Spusťte npm --version a npm config get cache a ujistěte se, že výsledek ukazuje na mezipaměť, nikoli na složku projektu.
- Přesnou vrácenou cestu změřte příkazem du -sh a zapište si dostupné místo na Macu.
- Zastavte procesy npm, ponechte package.json a lockfile beze změny a spusťte npm cache verify.
- Pokud je úplné vyčištění stále odůvodněné a nové stahování vám nevadí, spusťte npm cache clean --force.
- Mezipaměť znovu ověřte a změřte, zkontrolujte volné místo a sestavte jeden projekt beze změny grafu závislostí.
Nevkládejte neověřenou cestu do rm -rf. Tento postup ruční rekurzivní mazání nepotřebuje a chyba v konfiguraci by mohla zasáhnout projekt nebo domovskou složku.
Úplné vyčištění spusťte pouze vědomě
Příkaz npm cache clean --force má smysl, když mezipaměť prokazatelně zabírá potřebné místo nebo když npm cache verify hlásí problém této vrstvy, který nedokázal vyřešit. Přepínač --force je povinný, protože úplné odstranění bývá zbytečné; volbu force nenastavujte globálně. Příkaz odstraní sdílená stažená data, takže další instalace budou pomalejší a budou potřebovat síť, přihlašovací údaje i dostupné artefakty. Práce offline může přestat fungovat. Nekombinujte ho se smazáním lockfilu ani node_modules.
Ověřte získané místo a skutečnou příčinu chyby
Po vyčištění znovu spusťte npm config get cache, případně npm cache verify, změřte stejnou cestu a skutečné volné místo v macOS. Otestujte reprezentativní projekt s nezměněnými package.json a lockfilem. Pokud se chyba vrátí, čištění neopakujte: příčina může být v přihlášení k registru, proxy, síti, nedostupné verzi, požadavcích Node.js, konfliktu peer dependencies, nativní kompilaci nebo skriptu životního cyklu balíčku. Mezipaměť není trvalý archiv; kritické artefakty uchovávejte v registru nebo záloze.
Co lze odstranit a kolik stojí obnova
Najděte a změřte mezipaměť npm na Macu, nejdřív ji ověřte přes npm cache verify, čistěte ji jen v odůvodněných případech a chraňte node_modules i lockfile.
| Položka nebo rozhodnutí | Kde zkontrolovat | Důsledek odstranění |
|---|---|---|
| Rozlište mezipaměť, závislosti a soubory projektu | npm config get cache | npm uchovává sdílená stažená data v obsahově adresovaném úložišti, ve výchozím stavu v ~/.npm, aktivní cestu však může změnit konfigurace. node_modules je nainstalovaný strom závislostí jednoho projektu, zatímco package.json a package-lock.json popisují stav projektu; nic z toho není mezipaměť. |
| Najděte, změřte a nejprve ověřte | npm cache verify | Zkontrolujte npm --version a místo předpokladu, že se používá ~/.npm, spusťte npm config get cache. |
| Úplné vyčištění spusťte pouze vědomě | npm cache clean --force | Příkaz npm cache clean --force má smysl, když mezipaměť prokazatelně zabírá potřebné místo nebo když npm cache verify hlásí problém této vrstvy, který nedokázal vyřešit. |
| Ověřte získané místo a skutečnou příčinu chyby | instalace + kontrola režimu offline / soukromého registru | Po vyčištění znovu spusťte npm config get cache, případně npm cache verify, změřte stejnou cestu a skutečné volné místo v macOS. |
Časté dotazy
Mám použít npm cache verify, nebo npm cache clean --force?
Nejprve npm cache verify: ověří integritu a odstraní nepotřebná data, aniž by zahodil platná stažení. npm cache clean --force použijte až při změřeném nedostatku místa nebo potvrzeném problému mezipaměti.
Smaže vyčištění mezipaměti npm node_modules nebo package-lock.json?
Ne. Mezipaměť je sdílené úložiště stažených dat; node_modules, package.json a package-lock.json patří projektu. Během této operace je nemažte ani nepřepisujte. Pokud má starý projekt jen npm-shrinkwrap.json, přejmenujte ho pro npm v12 na package-lock.json, ale existující package-lock.json nepřepisujte.
Proč npm hlásí chybu i po vyčištění mezipaměti?
Chyba se nejspíš týká jiné vrstvy: sítě, registru, přihlašovacích údajů, verze Node.js, grafu závislostí, nativní kompilace nebo skriptu životního cyklu balíčku. Uchovejte si první podstatné hlášení a diagnostikujte ho, místo abyste dál mazali platná stažení.
Zdroje