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)

    下载安装:https://github.com/coreybutler/nvm-windows/releases

常用命令

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) 下载包;
  • 管理项目依赖(dependenciesdevDependencies);
  • 运行 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 镜像源之间快速切换,提高下载速度。

典型工作流

  1. nvm 切换到项目需要的 Node.js 版本;
  2. nrm 切换到速度快的镜像源(国内推荐 taobao);
  3. npm 安装依赖、运行项目。
posted @ 2023-01-31 11:49  【唐】三三  阅读(45)  评论(0)    收藏  举报