How can I change the cache path for npm (or comple

2019-01-21 07:28发布

问题:

I've installed Node.js on my Windows 7 x64 development machine, the manual way:

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"

I've placed the main node x64 binary along with npm package manager in C:\Devel\nodejs. Works like a charm and I can update the main binary without dealing with the installer.

The only problem I can't solve is moving the cache folder. When I install a local package:

npm install express

... cache is placed under %APP_DATA%\npm-cache folder. I'd like to change it to:

C:\Devel\nodejs\npm-cache

How can I change the npm cache folder, or disable it completely?

回答1:

You can change npm cache folder using the npm command line. (see : https://docs.npmjs.com/misc/config and more specifically https://docs.npmjs.com/misc/config#cache)

So you might want to try this command :

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


回答2:

You can also set an environment variable with export npm_config_cache=/path/to/cache (Unix) or set npm_config_cache=C:\path\to\cache (Win) as an alternative to npm config set (this is true for all config options in npm).


For anyone using docker you can add the env var at runtime with:

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



回答3:

In addition, I found that running an update command works also. For example: "npm update npm". Without quotes. Lastly, one can check their npm-cache directory to see if is being filled or not.



标签: node.js npm