web-dev-qa-db-fra.com

Comment puis-je changer le chemin du cache pour npm (ou complètement désactiver le cache) sous Windows?

J'ai installé Node.js sur ma machine de développement Windows 7 x64, de manière manuelle:

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"

J'ai placé le fichier binaire principal node x64 avec le gestionnaire de packages npm dans C:\Devel\nodejs. Fonctionne comme un charme et je peux mettre à jour le binaire principal sans traiter avec l’installateur.

Le seul problème que je ne peux pas résoudre est le déplacement du dossier de cache. Quand j'installe un paquet local:

npm install express

... le cache est placé dans le dossier %APP_DATA%\npm-cache. Je voudrais le changer pour:

C:\Devel\nodejs\npm-cache

Comment puis-je changer le dossier de cache npm ou le désactiver complètement?

71
gremo

Vous pouvez modifier le dossier de cache npm à l'aide de la ligne de commande npm. (voir: https://docs.npmjs.com/misc/config et plus précisément https://docs.npmjs.com/misc/config#cache )

Donc, vous voudrez peut-être essayer cette commande:

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

Vous pouvez également définir une variable d'environnement avec export npm_config_cache=/path/to/cache (Unix) ou set npm_config_cache=C:\path\to\cache (Win) comme alternative à npm config set (cela est vrai pour toutes les options de configuration dans npm).


Pour tous ceux qui utilisent docker, vous pouvez ajouter la variable env au moment de l'exécution avec:

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

20
gib

De plus, j'ai constaté qu'exécuter une commande de mise à jour marche aussi . Par exemple: "npm update npm" . Sans guillemets. Enfin, vous pouvez vérifier le répertoire npm-cache pour savoir si le fichier est rempli ou non.

0
DoesEatOats