132

我已经在我的 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 缓存文件夹,或完全禁用它?

4

6 回答 6

195

npm您可以使用命令行更改 npm 缓存文件夹。(见https://docs.npmjs.com/cli/v6/using-npm/config#cache

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

> npm config set cache C:\Devel\nodejs\npm-cache --global 
于 2013-02-12T21:09:23.407 回答
47

您还可以使用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
于 2017-08-07T11:41:55.850 回答
9

您还可以执行以下操作:

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

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

对于 package.json 中的所有包,为了拥有你想要的缓存路径:

只需在 package.json 像往常一样的目录中并执行

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

你可能在 npm 文档中找不到这个,但我已经用 npm 6 尝试过它并且它可以工作。看起来它从 npm 5 开始就有效 [参考:如何在安装命令中指定 npm5 中的缓存文件夹?

于 2019-11-16T20:48:33.897 回答
4

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

于 2019-09-18T16:56:16.953 回答
-1

此外,我发现运行更新命令也可以 - 例如:

npm update npm

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

于 2017-01-27T19:32:35.837 回答
-1

解决方案

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

npmrc文件位置: C:\Program Files\nodejs\node_modules\npm\npmrc

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

注意:没有'.' 在 npmrc 前面

图表

NPMRC 文件夹看起来像这样

在此处输入图像描述

NPMRC 内容看起来像这样

在此处输入图像描述

希望能帮助到你。干杯

于 2021-07-07T06:24:42.320 回答