如何在 Windows 上更改 npm 的缓存路径(或完全禁用缓存) ?

我已经在我的 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"

我已经把主 节点 x64二进制Npm 包管理器放在了 C:\Devel\nodejs中。工作像一个魅力,我可以更新主二进制不处理安装程序。

我唯一不能解决的问题是移动缓存文件夹:

npm install express

... 缓存放在 %APP_DATA%\npm-cache文件夹下。我想把它改为:

C:\Devel\nodejs\npm-cache

如何更改 npm 缓存文件夹,或完全禁用它?

133124 次浏览

您可以使用 npm命令行更改 npm 缓存文件夹

所以你可以试试这个命令:

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

然后,在运行此命令之后运行 npm --global cache verify

此外,我发现运行 update 命令也可以工作——例如:

npm update npm

最后,可以检查它们的 npm-cache 目录,看看是否正在被填充。

你也可以设置一个环境变量,使用 export npm_config_cache=/path/to/cache(Unix)或者 set npm_config_cache=C:\path\to\cache(Win)来替代 npm config set(npm 中的所有配置选项都是如此)。


对于任何使用 docker 的人,您可以在运行时添加 env var:

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

在 Windows 中,您可以简单地 cd 到所需的缓存文件夹并执行 npm set cache --global操作

你也可以这样做:

对于拥有您所希望的缓存路径,对于安装时的单个软件包:

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

对于 package.json 中的所有包,如您所愿拥有缓存路径:

只要在 package.json 和往常一样的目录中执行操作即可

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

您可能在 npm 文档中找不到这个,但是我已经用 npm 6尝试过了,它可以工作。 看起来它从 npm5开始就可以工作了[参考: < a href = “ https://stackoverflo.com/questions/44310188/How-to-speting-cache-file-in-npm5-on-install-command ]”> 如何在安装命令的 npm5中指定缓存文件夹?

解决方案

将下面的代码粘贴到 npmrc 文件中。

NPMRC文件的位置: < strong > C: Program Files nodejs node _ module npm npmrc

prefix=D:\nodejs\npm
cache=D:\nodejs\npm-cache

备注: 在 npmrc

前面没有’.’

图表

NPMRC 文件夹如下所示

enter image description here

NPMRC 内容如下所示

enter image description here

希望能有帮助,干杯