使用 nvm(Node Version Manager) 高效管理Node.js

使用 nvm(Node Version Manager) 可以高效管理多个 Node.js 版本,尤其适合需要切换不同版本进行开发或测试的场景。以下是针对 Windows 和 macOS/Linux 的详细操作指南,涵盖安装、版本管理、常见问题解决等核心内容。

一、nvm 安装与配置

1. Windows 系统安装 nvm-windows

  • 下载安装包
    nvm-windows 官方仓库 下载最新版 nvm-setup.zip
  • 安装步骤
    1. 解压并运行 nvm-setup.exe
    2. 选择安装目录(建议默认 C:\Users\<用户名>\AppData\Roaming\nvm)。
    3. 勾选 "自动配置 Node.js 路径"(避免手动设置环境变量)。
    4. 完成安装后重启终端。

验证安装

bash 复制代码
nvm version

预期输出

bash 复制代码
1.1.11  # 版本号可能不同

2. macOS/Linux 系统安装 nvm

  • 通过脚本安装(推荐):

    |---|-----------------------------------------------------------------------------------|
    | | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash |

    安装后重启终端,或运行:

    |---|--------------------------------------------|
    | | source ~/.bashrc # 或 ~/.zshrc、~/.profile |

  • 验证安装

    |---|------------------|
    | | command -v nvm |

  • 预期输出

    |---|---------------|
    | | nvm # 表示已安装 |

二、nvm 核心操作指南

1. 安装指定版本的 Node.js

|---|--------------------------------------------|
| | nvm install 16.20.2 # 安装 Node.js 16.20.2 |

  • 加速下载 (国内用户):
    设置 npm 镜像源后,nvm 会自动从镜像下载 Node.js:

    |---|----------------------------------------------------------|
    | | npm config set registry https://registry.npmmirror.com |

2. 切换 Node.js 版本

  • 临时切换 (当前终端会话有效):

    |---|-------------------|
    | | nvm use 16.20.2 |

  • 永久切换 (设置默认版本):

    |---|-----------------------------|
    | | nvm alias default 16.20.2 |

3. 查看已安装版本

|---|---------------------------|
| | nvm list # 显示所有已安装版本 |
| | nvm ls # 同上(简写) |
| | nvm current # 显示当前激活的版本 |

4. 卸载 Node.js 版本

|---|----------------------------------|
| | nvm uninstall 16.20.2 # 卸载指定版本 |

总结命令清单

命令 作用 示例
nvm install 16.20.2 安装指定版本 nvm install 18.16.0
nvm use 16.20.2 切换版本 nvm use 14.17.0
nvm alias default 16.20.2 设置默认版本 nvm alias default 16.20.2
nvm list 查看已安装版本 nvm ls
nvm uninstall 16.20.2 卸载版本 nvm uninstall 14.17.0
nvm current 查看当前版本 nvm current
相关推荐
Lubase1 天前
LuBase介绍&私有化部署教程
java·spring boot·低代码·gitee·vue
Swift社区1 天前
Flutter 页面为什么会频繁 rebuild?如何定位和优化?
flutter·前端框架·node.js
程序员爱钓鱼1 天前
Node.js 编程实战:使用 Postman Swagger 测试接口
后端·面试·node.js
cj81401 天前
Node.js基本概念理解
前端·node.js
程序员爱钓鱼1 天前
Node.js 编程实战:JWT身份验证与权限管理
前端·后端·node.js
毛小茛1 天前
pnpm 已经安装成功,但 npm 的全局 bin 目录没有进 PATH
前端·npm·node.js
冬奇Lab1 天前
Vercel部署全攻略:从GitHub到上线,10分钟让你的前端项目免费拥有自己的域名
前端·后端·node.js
天远数科1 天前
Node.js全栈开发:深度集成天远贷前风险报告接口打造风控中台
大数据·node.js
ljh5746491192 天前
npm run build:prod 打包后,文件中的console.log 失效
前端·npm·node.js
胡斌附体2 天前
vue打包测试环境
vue·打包·build·test·env环境文件