在前端开发中,不同项目可能依赖不同版本的 Node.js。例如旧项目需要 Node.js 14.x,而新项目采用 Node.js 20.x 的新特性。手动切换版本不仅繁琐,还可能引发环境冲突。nvm(Node Version Manager) 作为专业的 Node.js 版本管理工具,能轻松实现多版本共存与无缝切换。本文将从基础概念到实战操作,详细讲解如何在 Linux 系统中使用 nvm 管理 Node.js 版本,适合新手快速入门。
一、为什么你需要NVM?
🔥 当你在学习/工作中遇到这些场景时:
- 接手的遗留项目依赖Node.js 14,但新项目要求Node 20
- 在本地调试正常,上线后因Node版本不一致导致部署失败
npm install
时报错提示"engine not compatible"- 全局安装的CLI工具切换版本后失效
💡 NVM(Node Version Manager)正是你的版本管理救星:
✨ 多版本自由切换:不同项目使用隔离的Node环境,通过命令快速切换 Node.js 版本,无需手动修改环境变量
✨ 沙箱安全机制:全局模块按版本独立管理,不同版本的 Node.js 和 npm 完全独立,支持同时安装 10 + 个版本
✨ 简化运维操作:一键安装/卸载任意版本
二、环境准备:清理历史残留
2.1 检查系统环境
# 查看Linux系统版本(以Ubuntu为例)
lsb_release -a
# 确保已安装curl/wget(多数Linux默认已安装)
which curl || sudo apt install curl # Ubuntu/Debian系
which wget || sudo dnf install wget # CentOS/Fedora系
2.2 卸载旧版本Node(已安装用户必看)
# 卸载Node.js
# Ubuntu
sudo apt purge nodejs npm -y
sudo rm -rf /etc/apt/sources.list.d/nodesource.list
# CentOS
sudo yum remove nodejs npm
# 清除残留文件和链接
sudo rm -rf /usr/local/bin/npm /usr/local/bin/node
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf ~/.npm ~/.node_repl_history
# 检查是否卸载干净
which node # 应返回"not found"
2.3 安装编译依赖(自建环境必装)
# Ubuntu
sudo apt update