135 votes

Comment puis-je modifier le chemin du cache pour npm (ou désactiver complètement 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 principal nœud x64 binaire ainsi que gestionnaire de paquets npm en C:\Devel\nodejs . Cela fonctionne comme un charme et je peux mettre à jour le binaire principal sans avoir à m'occuper de l'installateur.

Le seul problème que je n'arrive pas à résoudre est le déplacement du dossier cache. Lorsque j'installe un paquet local :

npm install express

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

C:\Devel\nodejs\npm-cache

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

202voto

jcreignou Points 3092

Vous pouvez changer le dossier du cache de npm en utilisant l'option npm ligne de commande. (voir https://docs.npmjs.com/cli/v6/using-npm/config#cache )

Vous pouvez donc essayer cette commande :

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

52voto

gib Points 671

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 (ceci est vrai pour toutes les options de configuration de npm).


Pour 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

12voto

Luke P. Issac Points 84

Vous pouvez aussi faire ce qui suit :

Pour avoir un chemin de cache comme vous le souhaitez, pour un seul paquet lors de son installation :

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

Pour avoir un chemin de cache comme vous le souhaitez, pour tous les paquets dans package.json :

Il suffit d'être dans le répertoire où se trouve le package.json comme d'habitude et de faire

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

Vous ne trouverez peut-être pas cela dans la documentation de npm mais j'ai essayé avec npm 6 et cela fonctionne. Il semble que cela fonctionne depuis npm 5 [Refer : Comment spécifier le dossier de cache dans npm5 sur la commande d'installation ?

5voto

Stanley85 Points 13

Sous Windows, vous pouvez simplement vous rendre dans le dossier de cache souhaité et faire npm set cache --global

-1voto

DoesEatOats Points 21

En outre, j'ai constaté que l'exécution d'une commande de mise à jour fonctionne également - par exemple :

npm update npm

Enfin, on peut vérifier son répertoire npm-cache pour voir s'il est rempli ou non.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X