我在Windows 7 x64开发机器上安装了Node.js,手动方式:
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"
我已将主node x64 binary和npm package manager放在C:\Devel\nodejs
中。像魅力一样工作,我可以在不处理安装程序的情况下更新主二进制文件。
我无法解决的唯一问题是移动缓存文件夹。当我安装本地包时:
npm install express
...缓存位于%APP_DATA%\npm-cache
文件夹下。我想把它改成:
C:\Devel\nodejs\npm-cache
如何更改npm缓存文件夹,或完全禁用它?
答案 0 :(得分:126)
您可以使用npm
命令行更改npm缓存文件夹。 (参见:https://docs.npmjs.com/misc/config,更具体地说是https://docs.npmjs.com/misc/config#cache)
所以你可能想尝试这个命令:
> npm config set cache C:\Devel\nodejs\npm-cache --global
答案 1 :(得分:23)
您还可以使用export npm_config_cache=/path/to/cache
(Unix)或set npm_config_cache=C:\path\to\cache
(Win)设置环境变量作为npm config set
的替代方法(对于npm中的所有配置选项都是如此)。< / p>
对于使用docker的任何人,您可以在运行时添加env var:
docker run -e npm_config_cache=/path/to/cache mydockerimage:tag
答案 2 :(得分:1)
您还可以执行以下操作:
要获得所需的缓存路径,请在安装时为单个软件包安装
:npm install packageName --cache path/to/some/folder
对于您想要的缓存路径,对于package.json中的所有软件包:
只需像往常一样在package.json所在的目录中
npm install --cache path/to/some/folder
您可能在npm文档中找不到此文件,但是我已经使用npm 6进行了尝试,并且可以使用。 自npm 5以来似乎可以使用[参考:How to specify cache folder in npm5 on install command?
答案 3 :(得分:0)
此外,我发现运行更新命令也有效。 例如:&#34; npm update npm&#34;。 没有引号。最后,可以检查他们的npm-cache目录以查看是否正在填充。
答案 4 :(得分:0)
在Windows中,您可以简单地CD到所需的缓存文件夹并执行npm set cache --global
答案 5 :(得分:0)