AskCleanAskClean

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.

Blocchi di pacchetti attraversano una cache circolare protetta da uno scudo di verifica, mentre gli scarti vanno al riciclo e i file del progetto restano separati
Verifica i download riutilizzabili di npm prima di svuotare la cache e tienili separati dai file del progetto e dalle dipendenze installate.

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.

  1. Esegui npm --version e npm config get cache; conferma che il percorso ottenuto sia una cache e non una cartella di progetto.
  2. Misura quel percorso esatto con du -sh e annota lo spazio libero sul disco, senza modificare package.json o i lockfile.
  3. Arresta i processi npm install, npm ci, npm exec e di pubblicazione; esegui npm cache verify e conserva il riepilogo e gli errori.
  4. Esegui npm cache clean --force solo se verify non basta, il recupero di spazio conta e tutti gli artefatti necessari resteranno raggiungibili.
  5. 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 azioneDove verificareConseguenza
Separa cache, dipendenze installate e progettonpm config get cacheLa 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 primanpm cache verifyNon 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 consapevolmentenpm cache clean --forceEsegui 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 dipendenzeinstallazione + verifica offline/registry privatoDopo 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

Continua a liberare spazio per lo sviluppo