Come posso modificare il percorso della cache per npm (o disabilitare completamente la cache) su Windows?


103

Ho installato Node.js sulla mia macchina di sviluppo Windows 7 x64, in modo manuale:

mkdir C:\Devel\nodejs
cd C:\Devel\nodejs
set NODE_PATH=%CD%
setx /M PATH "%PATH%;%NODE_PATH%"
setx /M NODE_PATH "%NODE_PATH%\node_modules"

Ho inserito il binario x64 del nodo principale insieme al gestore di pacchetti npm in C:\Devel\nodejs. Funziona a meraviglia e posso aggiornare il binario principale senza occuparmi del programma di installazione.

L'unico problema che non riesco a risolvere è spostare la cartella della cache. Quando installo un pacchetto locale:

npm install express

... la cache è collocata nella %APP_DATA%\npm-cachecartella. Vorrei cambiarlo in:

C:\Devel\nodejs\npm-cache

Come posso cambiare la cartella della cache npm o disabilitarla completamente?


1
La posizione non dovrebbe essere:% APPDATA% \ npm-cache
arni

Risposte:


158

È possibile modificare la cartella della cache npm utilizzando la npmriga di comando. (vedi: https://docs.npmjs.com/misc/config e più specificamente https://docs.npmjs.com/misc/config#cache )

Quindi potresti provare questo comando:

> npm config set cache C:\Devel\nodejs\npm-cache --global 

3
Nota anche che se stai per seguire il percorso npmrc, il file npmrc globale non si trova direttamente in $ PREFIX, ma piuttosto in $ PREFIX \ ecc.
Henry C

3
Quando lo facevo su Windows 7 usando Cygwin, dovevo aggiungere una barra davanti a ogni barra rovesciata per evitare che le barre rovesciate venissero rimosse.
TJ.

8
Dopo aver eseguito, npm config listverifica la corretta impostazione
kampsj

Ho problemi a trovare il comando a cui ti riferisci, ovunque nel documento collegato
AaA

39

Puoi anche impostare una variabile d'ambiente con export npm_config_cache=/path/to/cache(Unix) o set npm_config_cache=C:\path\to\cache(Win) come alternativa a npm config set(questo è vero per tutte le opzioni di configurazione in npm).


Per chiunque utilizzi docker è possibile aggiungere env var in fase di esecuzione con:

docker run -e npm_config_cache=/path/to/cache mydockerimage:tag

3
Questo è perfetto per l'uso in finestra mobile. Thx
velop

3

Puoi anche fare quanto segue:

Per avere il percorso della cache come desideri, per un singolo pacchetto durante l'installazione:

npm install packageName --cache path/to/some/folder

Per avere il percorso della cache come desideri, per tutti i pacchetti in package.json:

Basta essere nella directory dove package.json è come al solito e farlo

npm install --cache path/to/some/folder

Potresti non trovarlo nella documentazione di npm ma l'ho provato con npm 6 e funziona. Sembra che funzioni da npm 5 [Riferimento: come specificare la cartella della cache in npm5 al comando di installazione?


0

Inoltre, ho scoperto che l'esecuzione di un comando di aggiornamento funziona anche, ad esempio:

npm update npm

Infine, si può controllare la loro directory npm-cache per vedere se viene riempita o meno.


0

In Windows puoi semplicemente eseguire il cd nella cartella cache desiderata e farlo npm set cache --global

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.