nvm,nrm,npm 的使用
1. nvm — Node Version Manager
作用:管理多个 Node.js 版本,方便在不同项目间切换。
因为不同项目可能依赖不同版本的 Node.js,比如老项目需要 Node 14,新项目用 Node 20,nvm 就是干这个切换工作的。
特点
- 可以安装多个 Node.js 版本;
- 随时切换当前使用的版本;
- 每个版本的 Node 自带配套的 npm 版本;
- 不污染全局环境。
安装
-
Mac / Linux
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 -
Windows(官方 nvm 不支持 Windows,需用 nvm-windows)
常用命令
nvm install 20.10.0 # 安装指定版本
nvm use 20.10.0 # 切换到指定版本
nvm ls # 查看已安装版本
nvm ls-remote # 查看可安装的远程版本
nvm alias default 20.10.0 # 设置默认版本
nvm uninstall 18.17.0 # 卸载某个版本
2. npm — Node Package Manager
作用:Node.js 自带的包管理工具,用于安装、卸载、更新依赖包,以及运行项目脚本。
每个 Node.js 安装时都会自带一个 npm。
特点
- 从 npm 镜像源(registry) 下载包;
- 管理项目依赖(
dependencies、devDependencies); - 运行
package.json中定义的脚本; - 发布自己的包到 npm 仓库。
常用命令
npm init -y # 初始化项目,生成 package.json
npm install 包名 # 局部安装(当前项目)
npm install -g 包名 # 全局安装
npm uninstall 包名 # 卸载包
npm update 包名 # 更新包
npm run 脚本名 # 执行 scripts 中定义的脚本
npm list # 查看已安装的包
npm info 包名 # 查看包信息
镜像源
npm 默认使用官方源:
https://registry.npmjs.org/
国内访问速度较慢,可切换到国内镜像(用 nrm 或手动配置)。
3. nrm — NPM Registry Manager
作用:管理 npm 镜像源地址,方便快速切换不同的下载源。
因为 npm 官方源在国外,国内下载依赖会很慢,nrm 可以快速切换到淘宝、cnpm 等国内镜像。
安装
npm install -g nrm
常用命令
nrm ls # 列出所有可用的镜像源
nrm use taobao # 切换到淘宝镜像
nrm test # 测试各镜像源速度
nrm add myreg https://registry.mycompany.com # 添加自定义源
nrm del myreg # 删除自定义源
nrm current # 查看当前使用的源
常用镜像源
| 名称 | 地址 |
|---|---|
| npm | https://registry.npmjs.org/ |
| taobao | https://registry.npmmirror.com/ |
| cnpm | https://r.cnpmjs.org/ |
| yarn | https://registry.yarnpkg.com/ |
4. 三者关系总结
可以这样比喻:
- nvm:Node.js 版本的 “切换器”,决定你当前用的是哪个 Node 发动机;
- npm:Node.js 自带的 “包管家”,负责下载、安装、管理项目依赖;
- nrm:npm 下载地址的 “切换器”,让你在不同 npm 镜像源之间快速切换,提高下载速度。
典型工作流:
- 用
nvm切换到项目需要的 Node.js 版本; - 用
nrm切换到速度快的镜像源(国内推荐taobao); - 用
npm安装依赖、运行项目。

浙公网安备 33010602011771号