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
# - 保存后重启命令行,即可正常使用全局包命令
相关推荐
yuanlaile1 天前
从入门到部署|2026年Koa全栈开发实战:覆盖Node.js、数据库、部署与云架构全链路
微服务·云原生·kubernetes·node.js·serverless·nodejs全栈开发
onebyte8bits1 天前
NestJS 系列教程(十八):文件上传与对象存储架构(Multer + S3/OSS + 访问控制)
前端·架构·node.js·状态模式·nestjs
苏瞳儿1 天前
前端/后端-配置跨域
前端·javascript·node.js·vue
SP八岐大兔2 天前
NPM管理OpenClaw安装、卸载及运维命令
运维·前端·npm·openclaw
陈佬昔没带相机2 天前
GitHub clone 不动、pip 卡住、brew 转圈?一份指南搞定
git·npm
码云之上2 天前
上下文工程实战:解决多轮对话中的"上下文腐烂"问题
前端·node.js·agent
奔跑的呱呱牛2 天前
前端/Node.js操作Excel实战:使用@giszhc/xlsx(导入+导出全流程)
前端·node.js·excel·xlsx·sheetjs
Southern Wind2 天前
AI Skill Server 动态技能中台
前端·后端·mysql·node.js
米丘3 天前
Vite 代理跨域全解析:从 server.proxy 到请求转发的实现原理
javascript·node.js·vite