如何在 Windows 上卸载 Node.js LTS
Node.js 本身基本不留数据,卸载后真正要留意的是 npm 的全局包和缓存,还有你自己项目文件夹里的 node_modules,这些卸载器都不会动。这份指南覆盖用 OpenJS.NodeJS.LTS winget 包按机器安装的 Node.js LTS 版本。
先关掉正在用 Node 的程序
关掉所有还开着 node、npm 或 npx 进程的终端、编辑器或构建工具,文件被占用可能让卸载器卡在中途。卸载前在任务管理器(Ctrl+Shift+Esc)里确认没有 node.exe 还在。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 Node.js,选择卸载,或者运行:
winget uninstall --id OpenJS.NodeJS.LTS
Node.js 是按机器安装的 MSI,会要管理员权限。
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%USERPROFILE%\.node_repl_history |
你在交互式 node 命令行里敲过的命令 |
个人历史记录,卸载器不会动它,想删自己删掉 |
%APPDATA%\npm |
用 npm install -g 装的全局包 |
干净重装后要重新装这些包,想按原样保留就先备份这个文件夹 |
%LOCALAPPDATA%\npm-cache |
npm 的下载缓存 | 可以删,npm 需要时会自动重建 |
后两个位置是 npm 自己文档写明的默认路径,不是这次测试直接量出来的,卸载器都不会碰它们。
检查结果
卸载完成后建议开一个新的终端窗口,运行下面几条只读命令:
node --version
winget list --id OpenJS.NodeJS.LTS
Test-Path "$env:ProgramFiles\nodejs"
Test-Path "$env:APPDATA\npm"
node --version报「无法识别」,说明 Node.js 已经从 PATH 里没了;打印出版本号,说明卸载没完成,或者机器上还有另一个 Node.js。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。Test-Path "$env:ProgramFiles\nodejs"返回False,说明程序目录已经没了;返回True,说明那里还有文件。Test-Path "$env:APPDATA\npm"返回True,说明你装的全局包还在,只要你没有自己删掉,这就是正常的。
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个 MSI 卸载器,删的是同一批程序文件,不会动 %APPDATA%\npm、%LOCALAPPDATA%\npm-cache 或你的项目文件夹。
Mole 会列出什么
对按机器安装的 winget 版 Node.js LTS:
- 开始菜单文件夹默认勾选。
HKCU\SOFTWARE\Node.js会列出,但默认不勾选。- 这次测试里,MSI 卸载器在 Mole 审查到之前就已经把这两处都删了。
%USERPROFILE%\.node_repl_history目前不在列表里,它存的是个人命令历史,不是应用或缓存数据。
你的项目文件夹和里面的 node_modules,还有 npm 自己的全局包和缓存,都不在这张列表里。
这次检查覆盖了什么
测试的是通过 winget 按机器提权安装的 Node.js LTS 24.19.0,MSI 包。这次没有装过全局 npm 包,上面的 npm 文件夹没有实测到。
