Node.js作为现代JavaScript运行时环境,不同项目经常需要不同Node版本。本文将全面对比两大主流Node版本管理工具:nvm(Node Version Manager)和fnm(Fast Node Manager),并通过实战演示如何选择和使用它们。
一、版本管理工具的必要性
在开发Node.js应用时,您可能会遇到以下场景:
- 维护的老项目使用Node 12,新项目使用Node 18
- 需要测试应用在不同Node版本的兼容性
- 想尝试最新Node特性而不影响现有项目
- 团队协作需要统一Node版本
版本管理工具能帮您:
- 快速切换不同Node版本
- 隔离项目环境避免冲突
- 保持系统干净无需全局安装
- 简化安装过程自动处理依赖
二、nvm详解与实战
2.1 nvm简介
nvm(Node Version Manager)是最早流行的Node版本管理工具,使用Shell脚本编写,支持macOS/Linux(Windows用户需使用nvm-windows)。
核心特性:
- 支持安装多个Node版本
- 基于目录的版本自动切换
- 别名系统简化版本管理
- 完全隔离的npm全局包
2.2 安装nvm
macOS/Linux安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
# 或使用brew
brew install nvm
安装后需要将以下内容添加到shell配置文件(如/.zshrc或/.bashrc):
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${
HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # 加载nvm
Windows安装:
下载安装包:nvm-windows
2.3 nvm常用命令
# 安装指定版本
nvm install 16.14.0
# 安装最新LTS版本
nvm install --lts
# 列出所有可用版本
nvm ls-remote
# 查看已安装版本
nvm ls