Win10下Node.js本体和npm全局包需迁出C盘:先将Node.js安装至D:\Node.js并勾选Add to PATH;再用npm config set prefix/cache重定向全局目录与缓存至D:\Node.js\npm_global/cache;最后将该global路径及node_modules.bin、NODE_PATH均加入系统环境变量,重启终端后验证三路径是否一致。

Win10系统下Node.js本体和npm全局包默认都挤在C盘,装几个CLI工具后C盘就告急,命令还常报“不是内部命令”——这根本不是环境没配好,而是全局bin路径压根没进系统PATH,或者prefix还钉在AppData里。
第一步:安装Node.js到D盘(本体迁移)
访问 https://www.php.cn/link/3cbab37acac4fc1e6b3f78778d48c67d,下载LTS版Windows Installer (.msi);双击运行,一路点Next,在「Destination Folder」页面点击「Change…」,把路径从 C:\Program Files\nodejs 改成 【D:\Node.js】(路径中不能含中文、空格或括号);务必勾选「Add to PATH」,否则后续所有命令都找不到node和npm。
安装完成后,打开新CMD窗口,执行 node -v 和 npm -v,确认能正常输出版本号——这是后续所有操作的前提,如果这里失败,说明PATH根本没生效,别往下走。
第二步:重定向npm全局包与缓存目录
方法一:命令行直接配置(推荐,立即生效)
以管理员身份打开PowerShell,逐条执行:
mkdir D:\Node.js\npm_globalmkdir D:\Node.js\npm_cachenpm config set prefix "D:\Node.js\npm_global"npm config set cache "D:\Node.js\npm_cache"
方法二:手动编辑.npmrc文件(兜底用)
按Win + R输入%USERPROFILE%回车,开启「查看」→勾选「隐藏的项目」,找到.npmrc文件;右键用记事本打开,删除所有内容,粘贴两行:
prefix=D:\Node.js\npm_globalcache=D:\Node.js\npm_cache
根据 package.json 中的 engines 字段自动检测 Node.js 版本需求,未安装 nvm 时自动安装并切换至对应版本。支持 Windows、macOS、Linux。适用于 Node.js 项目开发、版本切换和环境配置。
保存后关闭。注意:【不要保留任何空行或BOM头,否则npm会静默忽略该文件】
第三步:配置系统环境变量(让全局命令真正可用)
第一步:按Win + R输入sysdm.cpl→「高级」→「环境变量」;
第二步:在「系统变量」区域,找到Path,双击→「新建」→填入:D:\Node.js\npm_global
第三步:再次「新建」→填入:D:\Node.js\npm_global\node_modules\.bin
第四步:再新建一个系统变量:
变量名:NODE_PATH
变量值:D:\Node.js\npm_global\node_modules
全部点「确定」保存。这一步漏掉任意一项,npm install -g vue-cli装完后敲vue就会提示“不是内部或外部命令”。
第四步:验证迁移是否彻底完成
关闭所有已打开的终端窗口,重新打开一个全新的PowerShell;执行以下三条命令,每条输出必须严格匹配对应路径:
npm config get prefix → 输出:D:\Node.js\npm_globalnpm config get cache → 输出:D:\Node.js\npm_cachenpm root -g → 输出:D:\Node.js\npm_global\node_modules
如果npm root -g仍返回C盘路径,说明Path里没加对D:\Node.js\npm_global,或者没重启终端。


















