Come svuotare la cache di npm sul Mac in sicurezza
Team AskClean · Aggiornato 2026-08-05
Individua la cache attiva con npm config get cache, misura esattamente quel percorso ed esegui npm cache verify prima di eliminare qualsiasi cosa. Usa npm cache clean --force solo se ti serve lo spazio e accetti di dover riscaricare i pacchetti. node_modules, package.json e il lockfile non sono cache e devono restare intatti.

Separa cache, dipendenze installate e progetto
La cache di npm conserva download riutilizzabili tra più progetti e su macOS si trova di norma in ~/.npm, ma può essere configurata altrove. node_modules è l’albero installato di un singolo progetto. package.json e package-lock.json fanno parte dello stato del progetto, non della cache. Anche npm-shrinkwrap.json non è una cache, ma npm v12 non lo legge più: se è l’unico lockfile di un progetto legacy, rinomina quel file, che ha lo stesso formato, in package-lock.json prima di reinstallare con npm v12. Non sovrascrivere un package-lock.json esistente.
Misura la cache attiva e verificala per prima
Non presumere che un ~/.npm esistente sia la cache attiva. npm config get cache mostra il percorso usato con la configurazione corrente: misuralo con du e annota lo spazio libero. npm cache verify controlla indice e dati, ne verifica l’integrità ed elimina i contenuti non necessari senza scartare tutti i download validi. Per la manutenzione ordinaria o per un errore non causato dalla cache, questa verifica spesso basta.
- Esegui npm --version e npm config get cache; conferma che il percorso ottenuto sia una cache e non una cartella di progetto.
- Misura quel percorso esatto con du -sh e annota lo spazio libero sul disco, senza modificare package.json o i lockfile.
- Arresta i processi npm install, npm ci, npm exec e di pubblicazione; esegui npm cache verify e conserva il riepilogo e gli errori.
- Esegui npm cache clean --force solo se verify non basta, il recupero di spazio conta e tutti gli artefatti necessari resteranno raggiungibili.
- Esegui di nuovo npm cache verify, misura lo stesso percorso e prova un progetto rappresentativo con lockfile, build e test invariati.
Non usare mai rm -rf su un percorso non verificato. Non combinare neppure la pulizia della cache con l’eliminazione o la rigenerazione del lockfile: cambieresti due variabili insieme e perderesti il confronto necessario per diagnosticare il problema.
Usa npm cache clean --force solo consapevolmente
Esegui npm cache clean --force soltanto se la cache misurata incide davvero sullo spazio occupato, ti serve spazio subito e puoi scaricare di nuovo gli artefatti. Il comando pulisce la cache configurata, non node_modules o i lockfile. In seguito npm install e npm ci possono essere più lenti o fallire offline; registry privati, host Git, proxy e pacchetti ritirati aumentano il costo di ripristino. Non impostare force come opzione permanente nella configurazione di npm.
Verifica il risultato senza cambiare dipendenze
Dopo la pulizia verifica di nuovo il percorso, misura la stessa posizione e confronta lo spazio libero effettivo sul Mac. Prova un progetto rappresentativo lasciando invariati package.json e lockfile, poi esegui build e test. Se l’errore originale ritorna, non ripetere l’eliminazione: ERESOLVE, credenziali, risposte 404, proxy, certificati, requisiti di Node.js, compilazioni native e script del ciclo di vita richiedono un’altra diagnosi. AskClean riconosce il percorso predefinito ~/.npm; verifica con npm le posizioni personalizzate.
Cosa eliminare e quanto costa ripristinarlo
Trova e misura la cache dei download usata davvero da npm, verificala prima e svuotala solo quando serve, senza toccare node_modules o i file del progetto.
| Elemento o azione | Dove verificare | Conseguenza |
|---|---|---|
| Separa cache, dipendenze installate e progetto | npm config get cache | La cache di npm conserva download riutilizzabili tra più progetti e su macOS si trova di norma in ~/.npm, ma può essere configurata altrove. node_modules è l’albero installato di un singolo progetto. package.json e package-lock.json fanno parte dello stato del progetto, non della cache. Anche npm-shrinkwrap.json non è una cache, ma npm v12 non lo legge più: se è l’unico lockfile di un progetto legacy, rinomina quel file, che ha lo stesso formato, in package-lock.json prima di reinstallare con npm v12. Non sovrascrivere un package-lock.json esistente. |
| Misura la cache attiva e verificala per prima | npm cache verify | Non presumere che un ~/.npm esistente sia la cache attiva. npm config get cache mostra il percorso usato con la configurazione corrente: misuralo con du e annota lo spazio libero. npm cache verify controlla indice e dati, ne verifica l’integrità ed elimina i contenuti non necessari senza scartare tutti i download validi. Per la manutenzione ordinaria o per un errore non causato dalla cache, questa verifica spesso basta. |
| Usa npm cache clean --force solo consapevolmente | npm cache clean --force | Esegui npm cache clean --force soltanto se la cache misurata incide davvero sullo spazio occupato, ti serve spazio subito e puoi scaricare di nuovo gli artefatti. Il comando pulisce la cache configurata, non node_modules o i lockfile. In seguito npm install e npm ci possono essere più lenti o fallire offline; registry privati, host Git, proxy e pacchetti ritirati aumentano il costo di ripristino. Non impostare force come opzione permanente nella configurazione di npm. |
| Verifica il risultato senza cambiare dipendenze | installazione + verifica offline/registry privato | Dopo la pulizia verifica di nuovo il percorso, misura la stessa posizione e confronta lo spazio libero effettivo sul Mac. Prova un progetto rappresentativo lasciando invariati package.json e lockfile, poi esegui build e test. Se l’errore originale ritorna, non ripetere l’eliminazione: ERESOLVE, credenziali, risposte 404, proxy, certificati, requisiti di Node.js, compilazioni native e script del ciclo di vita richiedono un’altra diagnosi. AskClean riconosce il percorso predefinito ~/.npm; verifica con npm le posizioni personalizzate. |
FAQ
È sicuro eseguire npm cache clean --force sul Mac?
Non tocca né il codice sorgente né i file del progetto se npm punta alla cache corretta, ma elimina download riutilizzabili. Misura e verifica prima, arresta i processi attivi e prevedi che le installazioni successive richiedano la rete.
Devo eseguire prima npm cache verify o npm cache clean?
Prima npm cache verify: controlla l’integrità e rimuove dati inutili conservando il contenuto valido. Riserva npm cache clean --force a un’esigenza di spazio misurata o a un problema specifico della cache confermato.
Svuotare la cache di npm elimina package-lock.json?
No. package.json e package-lock.json sono file del progetto. npm v12 ignora npm-shrinkwrap.json: se è l’unico lockfile di un progetto legacy, rinominalo in package-lock.json senza sovrascrivere un file esistente né cambiare la risoluzione delle dipendenze durante la pulizia.
Fonti