从零到一:nvm 安装、配置与多版本 Node.js 管理实战
1. 为什么需要nvm刚接触Node.js开发时我经常遇到这样的困扰不同项目需要不同版本的Node.js运行环境。比如公司老项目用的是Node.js 12.x而新项目要求16.x以上版本。每次切换项目都要重新安装Node.js不仅麻烦还容易出错。这时候nvmNode Version Manager就派上用场了。它就像个智能遥控器可以同时管理多个Node.js版本一键切换毫无压力。我实测下来用nvm管理版本比手动安装卸载要稳得多再也不用担心版本冲突问题了。2. 安装前的准备工作2.1 检查并卸载旧版Node.js在安装nvm前强烈建议先检查系统是否已安装Node.js。我踩过的坑告诉你如果已有Node.js没卸载干净nvm可能会工作不正常。Windows用户可以通过控制面板卸载打开程序和功能搜索Node.js右键选择卸载Mac/Linux用户可以直接在终端运行which node如果返回路径说明已安装需要先卸载。2.2 清理残留文件卸载程序后这些地方可能还有残留Windows删除C:\Program Files\nodejs和用户目录下的.npmrc文件Mac/Linux删除/usr/local/bin/node和/usr/local/lib/node_modules记得检查环境变量删除所有与Node.js相关的PATH设置。我建议重启电脑确保完全清理。3. 安装nvm的三种方式3.1 官方脚本安装推荐这是最简便的安装方式一行命令搞定curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash或者用wgetwget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash安装完成后需要重新打开终端或者运行source ~/.bashrc # 或 source ~/.zshrc3.2 国内镜像安装如果网络连接不稳定可以使用国内镜像源bash -c $(curl -fsSL https://gitee.com/RubyKids/nvm-cn/raw/master/install.sh)3.3 手动安装适合需要自定义安装路径的高级用户从GitHub下载nvm源码包解压后找到install.sh执行安装脚本sh /path/to/install.sh4. 配置nvm环境安装完成后需要确认nvm是否正常工作nvm --version如果报错command not found可能是shell配置文件没有自动更新。手动添加以下内容到你的.bashrc或.zshrc文件export NVM_DIR$HOME/.nvm [ -s $NVM_DIR/nvm.sh ] \. $NVM_DIR/nvm.sh [ -s $NVM_DIR/bash_completion ] \. $NVM_DIR/bash_completion然后重新加载配置文件source ~/.bashrc # 或 source ~/.zshrc5. 使用nvm管理Node.js版本5.1 安装Node.js版本查看可安装的版本nvm ls-remote安装指定版本比如16.14.0nvm install 16.14.0安装最新LTS版本nvm install --lts5.2 切换Node.js版本临时切换仅当前终端有效nvm use 16.14.0设置默认版本所有新终端生效nvm alias default 16.14.05.3 版本管理查看已安装版本nvm ls卸载指定版本nvm uninstall 14.17.06. 常见问题解决6.1 切换版本不生效这个问题我遇到过多次特别是在VSCode中。解决方法完全关闭所有终端和编辑器重新打开后再次执行nvm use命令如果还不行尝试重启电脑6.2 安装速度慢可以设置淘宝镜像加速下载export NVM_NODEJS_ORG_MIRRORhttps://npmmirror.com/mirrors/node/然后重新安装Node.js版本。6.3 全局包丢失切换版本后之前安装的全局包可能不可用。解决方法列出当前版本的全局包npm ls -g --depth0在新版本中重新安装nvm reinstall-packages 旧版本号7. 高级技巧7.1 为项目自动切换版本在项目根目录创建.nvmrc文件写入需要的Node.js版本号16.14.0然后运行nvm usenvm会自动读取文件并切换版本。7.2 多版本并行测试可以用nvm同时安装多个版本然后通过脚本测试兼容性nvm run 14.17.0 test.js nvm run 16.14.0 test.js7.3 自定义安装路径通过环境变量可以自定义nvm和Node.js的安装位置export NVM_DIR/custom/path/to/nvm8. 卸载nvm如果不再需要nvm可以完全卸载8.1 删除nvm目录rm -rf ~/.nvm8.2 清理配置文件从.bashrc、.zshrc等文件中删除nvm相关配置。8.3 删除环境变量检查并删除所有与nvm相关的环境变量设置。在实际项目开发中nvm已经成为我必不可少的工具。特别是当需要维护多个历史项目时版本切换变得非常轻松。刚开始使用时可能会遇到一些小问题但只要按照上述步骤操作很快就能掌握这个强大的版本管理工具。