npm-cache 怎么迁移出C盘

你想把 npm 的缓存目录(npm-cache)从 C 盘迁移到其他磁盘(比如 D 盘),避免 C 盘空间被占用,对吧?这是前端开发中很常见的需求,核心是通过修改 npm 的配置指定新的缓存路径,下面给出永久生效的完整操作步骤,兼顾 Windows 和 macOS/Linux 系统(重点讲 Windows)。

一、核心原理

npm 的缓存路径默认在系统盘(Windows 一般是 C:\Users\你的用户名\.npm),通过 npm config 命令修改 cache 配置项,就能将缓存目录永久迁移到自定义路径。

二、Windows 系统操作步骤(详细版)

步骤 1:查看当前缓存路径(确认默认位置)
  1. 按 Win+R 输入 cmd 打开命令提示符(或用 PowerShell);

  2. 执行命令查看当前缓存路径:

    复制代码
    npm config get cache

    输出示例:C:\Users\张三\.npm(这就是默认缓存目录,需要迁移)

步骤 2:创建新的缓存目录

比如想迁移到 D:\npm\cache,先手动创建这个文件夹:

  • 打开 D 盘 → 新建文件夹 npm → 在 npm 里再新建 cache 文件夹(确保路径无空格、无中文,避免兼容问题)。
步骤 3:修改 npm 配置(永久指定新缓存路径)

执行以下命令(替换为你新建的路径):

复制代码
# 设置新的缓存路径(关键命令)
npm config set cache "D:\npm\cache" --global

# 验证是否设置成功
npm config get cache

如果输出 D:\npm\cache,说明配置生效。

步骤 4:可选 - 迁移原有缓存文件(保留已下载的包)

如果想把 C 盘原缓存里的包移到新路径,直接复制:

  1. 打开原缓存路径(比如 C:\Users\张三\.npm);
  2. 全选所有文件 / 文件夹,复制到新路径 D:\npm\cache;
  3. 复制完成后,可删除 C 盘原 .npm 文件夹释放空间。
步骤 5:验证是否生效

执行任意 npm 安装命令测试,比如:

复制代码
npm install axios -g

安装完成后,查看 D:\npm\cache 目录下会新增文件,说明缓存已写入新路径。

三、额外优化:同时迁移 npm 全局包目录(可选)

除了缓存,npm 全局安装的包(如 npm install -g)默认也在 C 盘,可一并迁移:

三、额外优化:同时迁移 npm 全局包目录(可选)

除了缓存,npm 全局安装的包(如 npm install -g)默认也在 C 盘,可一并迁移:

复制代码
# 1. 新建全局包目录(比如 D:\npm\global)
# 2. 设置全局包路径
npm config set prefix "D:\npm\global" --global

# 3. 验证
npm config get prefix

# 4. 配置环境变量(关键!否则全局命令如 axios 无法直接运行)
# - 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
# - 在「用户变量」中,编辑「Path」,添加新路径:D:\npm\global\node_modules\.bin
# - 保存后重启命令行,即可正常使用全局包命令
相关推荐
silvamux_1 分钟前
Node.js 调用大模型 API 排错实录
node.js
Amumu121383 小时前
NodeJs介绍
前端·node.js
孟陬4 小时前
利用 TypeScript `asserts` function 语法定制一个类型缩窄的 `assertIncludes`
typescript·node.js
damoluomu4 小时前
静态站点生成器怎么选:Node.js 生态里常用的五个(番外一)
javascript·css·typescript·node.js·html
濮水大叔5 小时前
Cabloy/Vona 如何避开 NestJS 的循环依赖问题:懒属性注入机制源码解析
typescript·node.js·nestjs
月走乂山12 小时前
DSH 桌面版用 DeepSeek 报 REQUEST_EXTENSION 的根因定位与修复
electron·node.js·插件系统·deepseek·bug排查·dsh·deepseek harness
斯晨的AI笔记1 天前
在服务器上跑 npm ci 四十分钟没装完,我打包把 node_modules 扔了过去
服务器·node.js
cpolar技术支持1 天前
第三方平台回调总说收不到?把本机 Webhook 收单页跑通,用 cpolar 固定二级子域名给对面看实时请求
node.js·内网穿透·webhook·cpolar·回调对接
damoluomu1 天前
Node.js CMS 的官网和仓库,22 个一次收齐(五)
node.js