跳到主要内容Node.js 版本管理指南:卸载、安装 NVM 及常见问题解决 | 极客日志JavaScriptNode.js大前端
Node.js 版本管理指南:卸载、安装 NVM 及常见问题解决
综述由AI生成Node.js 版本管理涉及卸载旧版本、安装 NVM 工具、切换不同 Node 版本及处理常见环境冲突问题。详细说明了 Windows、macOS 和 Linux 系统下彻底卸载 Node.js 的步骤,包括残留文件和环境变量清理。接着介绍了 nvm-windows 和官方 nvm 的安装方法,以及通过 nvm 安装、查看、切换和卸载 Node 版本的具体命令。此外,还涵盖了镜像源配置以加速下载,以及解决权限拒绝、命令未找到、全局包失效等常见问题的方案。
性能调优14 浏览 一、卸载现有 Node.js(避免版本冲突)
在安装 Node Version Manager (NVM) 前,必须彻底卸载电脑中已有的 Node.js(若从未安装可跳过此步骤),否则可能导致 NVM 管理失效或版本冲突问题。
1. Windows 系统卸载流程
步骤 1:通过控制面板卸载 Node.js
- 按下
Win + R 组合键打开运行窗口
- 输入
control 并回车打开「控制面板」
- 导航至「程序」→「程序和功能」
- 在程序列表中找到所有 Node.js 相关条目(可能有多个版本)
- 对每个 Node.js 条目右键选择「卸载」,按照向导完成卸载(此过程可能需要 1-2 分钟)
步骤 2:手动删除残留文件(关键步骤)
Windows 卸载程序通常不会完全清除所有文件,必须手动删除以下路径中的残留:
- 主安装目录:
- 默认路径:
C:\Program Files\nodejs
- 若安装时自定义过路径,需找到对应的安装文件夹
- 用户缓存目录:
- npm 全局包目录:
C:\Users\[你的用户名]\AppData\Roaming\npm
- npm 缓存目录:
C:\Users\[你的用户名]\AppData\Roaming\npm-cache
- 环境变量清理:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「用户变量」和「系统变量」中检查并删除:
- 单独的
NODE_PATH 变量
Path 变量中所有包含 nodejs 或 npm 的路径
- 任何与
Node.js 相关的变量
注意:AppData 是隐藏文件夹,需在文件资源管理器地址栏直接输入路径,或在「查看」选项卡勾选「隐藏的项目」才能看到。
步骤 3:验证卸载是否彻底
- 打开新的命令提示符(CMD)(重要:必须新开窗口)
- 若仍有输出,说明卸载不彻底,需重复上述步骤
依次执行以下验证命令:
node -v
npm -v
where node
2. macOS/Linux 系统卸载流程
步骤 1:通过终端彻底删除 Node
打开终端(Terminal),执行以下命令组:
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/bin/npm
sudo -rf /usr/local/lib/node_modules
-rf ~/.npm
-rf ~/.node-gyp
-rf /tmp/npm-*
-rf /usr/local/include/node
-rf /usr/local/share/man/man1/node.1
rm
sudo
rm
sudo
rm
sudo
rm
sudo
rm
sudo
rm
步骤 2:清理环境变量配置
编辑 shell 配置文件(根据你使用的 shell 类型选择):
sudo nano ~/.bash_profile
sudo nano ~/.zshrc
sudo nano ~/.config/fish/config.fish
- 查找并删除所有包含
NODE_PATH、npm 或 node 的行
- 保存更改(
Ctrl+O)并退出(Ctrl+X)
步骤 3:验证卸载
node -v
npm -v
which node
额外清理(针对通过 brew 安装的情况)
brew uninstall node --force
brew cleanup
rm -rf $(brew --cache)
二、安装 NVM(Node Version Manager)
系统版本差异说明
NVM(Node Version Manager)分为两个主要版本分支:
- Windows 版本:nvm-windows(由社区维护)
- macOS/Linux 版本:官方 nvm
两者在实现机制和安装方式上有显著差异,需要根据操作系统选择对应的安装方法。
2.1 Windows 系统安装 nvm-windows
步骤 1:下载 nvm-windows 安装包
由于官方 NVM 不支持 Windows 系统,Windows 用户需要使用社区维护的替代方案:
注意:如果系统已安装 Node.js,建议先卸载,避免与 nvm 管理的版本冲突。
步骤 2:运行安装程序
- 双击 nvm-setup.exe 启动安装向导
- 同意用户协议(勾选"I accept...")
- 设置安装路径:
- 默认路径:
C:\Users\[用户名]\AppData\Roaming\nvm
- 可修改但建议保持默认(避免权限问题)
- 配置 Node.js 符号链接路径:
- 默认:
C:\Program Files\nodejs
- 此路径将作为 nvm 切换版本时的统一入口
- 完成安装前建议勾选"Add to PATH"选项
步骤 3:验证安装
- 重新打开命令提示符(CMD/PowerShell)
- 常见问题排查:
- 如果提示"nvm 不是内部命令",请检查是否重启了终端
- 可运行
where nvm确认是否在 PATH 中
2.2 macOS/Linux 系统安装 nvm
步骤 1:通过终端安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- 脚本会自动将 nvm 克隆到
~/.nvm目录
- 会自动尝试配置 shell 启动文件(.bashrc/.zshrc 等)
- 可能需要管理员权限(在命令前加
sudo)
步骤 2:配置环境变量
/bin/bash → 编辑.bash_profile或.bashrc
/bin/zsh → 编辑.zshrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \.
"$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \.
"$NVM_DIR/bash_completion"
使用 nano 编辑器修改配置文件(以 bash 为例):
步骤 3:验证安装
提示:如果安装后立即验证失败,尝试关闭并重新打开终端窗口。
三、使用 NVM 安装 Node.js
3.1 查看可安装的 Node 版本
在使用 NVM 安装 Node.js 之前,建议先查看官方提供的可用版本列表,这包含以下几个分类:
- CURRENT:最新稳定版
- LTS:长期支持版(推荐生产环境使用)
- OLD STABLE:旧稳定版
- OLD UNSTABLE:旧开发版
| CURRENT | LTS | OLD STABLE | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
| 20.5.1 | 18.17.1 | 16.20.2 | 17.9.1 |
| 20.5.0 | 18.17.0 | 16.20.1 | 17.9.0 |
| 19.9.0 | 16.20.0 | 14.21.3 | 15.14.0 |
3.2 安装指定版本的 Node
安装 LTS 版本(推荐)
长期支持版(LTS)是最稳定的版本,适合生产环境使用:
安装最新版本
安装特定版本
- NVM 会自动下载指定版本的 Node.js 二进制包
- 同时安装对应的 npm 版本
- 配置必要的环境变量
- 在本地缓存安装文件以便快速切换
3.3 切换已安装的 Node 版本
nvm use 18.17.1
nvm use 16.20.2
- 切换后,当前终端会话会立即生效
- 新打开的终端会默认使用系统默认版本(可通过
nvm alias default 设置)
3.4 验证安装与切换
node -v
npm -v
which node
3.5 其他实用命令
查看已安装版本
设置默认版本
nvm alias default 18.17.1
卸载指定版本
四、NVM 常用命令(Windows/macOS/Linux 通用)
命令详解与应用场景
版本管理相关命令
| 命令 | 功能说明 | 示例 | 应用场景 |
|---|
nvm version | 查看 NVM 版本 | nvm version | 在安装或升级 NVM 时确认当前版本,确保工具正常运作 |
nvm current | 查看当前使用的 Node 版本 | nvm current | 快速确认当前环境版本,调试时验证环境配置 |
nvm list 或 nvm ls | 查看已安装的 Node 版本(带 * 的为当前使用版本) | nvm list | 管理多个项目时查看已安装版本,了解当前环境 |
nvm list installed | 查看已安装的 Node 版本 | nvm list installed | 仅查看本地已安装版本,不显示远程可用版本 |
nvm list available | 查看可安装的 Node 版本 | nvm list available | 在安装新版本前,查看所有可用的 LTS 和当前版本列表 |
安装与卸载命令
| 命令 | 功能说明 | 示例 | 应用场景 |
|---|
nvm install <version> | 安装指定版本的 Node | nvm install 18.17.1 | 为新项目安装特定版本,或测试不同版本的兼容性 |
nvm install [arch] | 安装指定版本并可指定平台 | nvm install 16.20.2 64 | 在特定系统架构 (32/64 位) 上安装指定版本 |
nvm uninstall <version> | 卸载指定版本的 Node | nvm uninstall 16.20.2 | 清理不再需要的旧版本,节省磁盘空间 |
版本切换与配置
| 命令 | 功能说明 | 示例 | 应用场景 |
|---|
nvm use <version> | 切换到指定版本的 Node | nvm use 16.20.2 | 为不同项目切换 Node 版本,测试代码在不同环境的兼容性 |
nvm use [version] [arch] | 切换指定版本和位数 | nvm use 18.17.1 64 | 同时指定版本和系统架构进行切换 |
nvm alias default <version> | 设置默认 Node 版本(重启终端后生效) | nvm alias default 18.17.1 | 设置长期使用的稳定版本,避免每次打开终端都要切换 |
系统配置命令
| 命令 | 功能说明 | 示例 | 应用场景 |
|---|
nvm arch | 查看当前系统的位数和当前 nodejs 的位数 | nvm arch | 确认运行环境架构,解决 32/64 位兼容性问题 |
nvm on | 启用 nodejs 版本控制 | nvm on | 激活 NVM 版本管理功能 |
nvm off | 禁用 nodejs 版本控制 | nvm off | 临时关闭 NVM 版本管理功能 |
nvm proxy [url] | 查看和设置代理 | nvm proxy http://proxy.example.com:8080 | 在需要代理的网络环境下配置 NVM |
nvm node_mirror [url] | 设置或查看 node 镜像源 | nvm node_mirror https://npm.taobao.org/mirrors/node/ | 在国内网络环境下使用镜像加速下载 |
nvm npm_mirror [url] | 设置或查看 npm 镜像源 | nvm npm_mirror https://npm.taobao.org/mirrors/npm/ | 在国内网络环境下使用镜像加速 npm 安装 |
nvm root [path] | 设置和查看 root 路径 | nvm root "C:\nvm" | 自定义 NVM 安装目录,解决权限或磁盘空间问题 |
进阶使用技巧
- 版本号通配符:可以使用部分版本号进行安装,如
nvm install 18 会自动安装最新的 18.x 版本
- 版本切换注意事项:
- 切换版本后需要重新安装全局 npm 包
- 某些项目可能需要删除
node_modules 后重新安装依赖
- Windows 特殊说明:
- 安装路径不要包含空格和中文
- 需要以管理员身份运行命令提示符执行安装
- 可能需要手动设置系统环境变量
nvm run 12.22.12 app.js
nvm run 14.21.3 app.js
nvm run 16.20.2 app.js
可以在不切换全局版本的情况下测试代码在不同 Node 版本中的运行情况
常见问题解决
- 命令不生效:关闭终端重新打开,或执行
source ~/.bashrc(Linux/macOS)
- 版本切换无效:检查是否在其他终端窗口使用了该版本,关闭所有终端重试
- 权限问题(Linux/macOS):在命令前加上
sudo,或修改 NVM 安装目录的权限
NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 16
五、卸载 NVM
5.1 Windows 系统卸载 nvm-windows 完整流程
步骤 1:通过控制面板标准卸载
- 按下
Win + R 组合键打开运行窗口,输入 control 回车打开控制面板
- 进入「程序」→「程序和功能」(Windows 10/11 也可通过设置中的"应用"执行)
- 在程序列表中找到以下条目(按字母顺序排列):
- nvm-windows
- Node.js (如果已通过 nvm 安装)
- 右键点击选择「卸载」,按照向导完成标准卸载流程
注意:如果遇到"卸载程序正在使用"的提示,请关闭所有命令行窗口和 IDE 工具
步骤 2:彻底清理残留文件
-
打开文件资源管理器,依次删除以下目录:
-
检查以下位置是否还有残留:
C:\Program Files (x86)\nodejs
C:\ProgramData\nvm
- 当前用户文档目录下的
.nvm 文件夹
C:\Users\[你的用户名]\AppData\Roaming\nvm
步骤 3:完整清理环境变量
- 按下
Win + S 搜索"环境变量",选择「编辑系统环境变量」
- 在「高级」选项卡点击「环境变量」按钮
- 在「用户变量」中检查并删除:
- 在「系统变量」中编辑 PATH 变量,删除以下条目(如果存在):
%NVM_HOME%
%NVM_SYMLINK%
- 任何指向 nvm 或 nodejs 的显式路径
- 点击「确定」保存所有更改
5.2 macOS/Linux 系统卸载 nvm 完整流程
步骤 1:彻底删除 nvm 安装文件
对于通过 Homebrew 安装的情况,还需执行:
brew uninstall nvm
brew cleanup
步骤 2:清理 Shell 配置文件
- 确定你使用的 shell 类型(执行
echo $SHELL 查看):
- Bash: ~/.bashrc, ~/.bash_profile
- Zsh: ~/.zshrc
- Fish: ~/.config/fish/config.fish
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \.
"$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \.
"$NVM_DIR/bash_completion"
使用文本编辑器(如 nano/vim)打开对应配置文件:
步骤 3:验证卸载结果
如果这些命令仍有效,说明系统中还存在独立安装的 Node.js,需要单独卸载
zsh: command not found: nvm
六、可能遇到的问题及解决方案
6.1 问题 1:Windows 下执行 nvm use 提示「exit status 1: Access is denied」
详细原因分析:该问题通常发生在 Windows 系统中,当 NVM 尝试创建或修改 Node.js 的符号链接时,由于用户权限不足导致操作被拒绝。特别是在 Windows 10/11 系统中,对系统目录的修改需要管理员权限。
- 关闭当前的命令提示符窗口
- 在 Windows 搜索栏中输入「cmd」或「PowerShell」
- 右键点击搜索结果中的「命令提示符」或「Windows PowerShell」
- 从右键菜单中选择「以管理员身份运行」
- 在弹出的用户账户控制 (UAC) 对话框中点击「是」
(将 16.14.0 替换为需要的 Node.js 版本号)
- 系统是否启用了符号链接功能
- 用户是否对目标目录有完全控制权限
- 是否存在杀毒软件拦截了相关操作
6.2 问题 2:macOS/Linux 下执行 nvm 提示「command not found」
详细原因分析:此问题表明系统无法找到 NVM 命令,通常是由于:
- NVM 未正确安装
- 环境变量未正确配置
- 配置文件未加载
- 使用了错误的 shell 配置文件
- 如果显示
/bin/bash,编辑 ~/.bash_profile
- 如果显示
/bin/zsh,编辑 ~/.zshrc
- 如果仍无效:
- 完全关闭终端后重新打开
- 检查其他可能加载的配置文件(如
~/.bashrc, ~/.profile)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \.
"$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \.
"$NVM_DIR/bash_completion"
如果目录存在且包含 nvm.sh 文件,则 NVM 已安装。
6.3 问题 3:安装 Node 时下载缓慢或失败
详细原因分析:由于网络限制,从 Node.js 官方服务器下载可能非常缓慢甚至失败,特别是在中国大陆地区。淘宝提供了完整的 Node.js 和 npm 镜像,可以显著提高下载速度。
Windows 系统配置:
- 找到 NVM 的安装目录(通常为
C:\Users\<用户名>\AppData\Roaming\nvm)
- 打开
settings.txt 文件(如不存在则创建)
- 保存文件后,重新尝试安装 Node.js
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
macOS/Linux 系统配置:
- 打开终端
- 保存文件(Ctrl+O,然后 Enter,再 Ctrl+X 退出)
echo $NVM_NODEJS_ORG_MIRROR
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
- 华为云镜像:
https://mirrors.huaweicloud.com/nodejs/
- 腾讯云镜像:
https://mirrors.cloud.tencent.com/nodejs/
6.4 问题 4:切换 Node 版本后,全局安装的 npm 包不可用
详细原因分析:NVM 的一个重要特性是它为每个 Node.js 版本维护独立的全局 npm 包空间。这样设计的好处是:
- 避免不同 Node.js 版本间的全局包冲突
- 确保每个 Node.js 版本环境的纯净性
- 方便管理不同项目所需的工具链
重新安装所需的全局包。以下是常见全局工具的安装命令:
npm install -g yarn
npm install -g typescript
npm install -g @vue/cli
npm install -g create-react-app
npm install -g nodemon
使用 nvm alias default 设置默认版本,避免频繁切换:
nvm alias default 18.17.1
可以创建一个脚本记录常用全局包,方便切换版本后快速安装:
npm install -g yarn typescript @vue/cli create-react-app nodemon
npm list -g --depth=0
npm uninstall -g <package-name>
相关免费在线工具
- Keycode 信息
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
- Escape 与 Native 编解码
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
- JavaScript / HTML 格式化
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
- JavaScript 压缩与混淆
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online