yanyue404 / blog

Just blog and not just blog.
https://yanyue404.github.io/blog/
Other
88 stars 13 forks source link

Node.js 开发中的版本与源管理:nvm 与 nrm 的使用技巧 #240

Open yanyue404 opened 2 years ago

yanyue404 commented 2 years ago

为什么 node 版本需要管理?

由 Node 版本引起的报错问题也是很常见,尤其是电脑上安装的高版本 Node,要运行低版本开发的项目,就会报错,方案一可以升级项目依赖,方案二就涉及到 Node 版本的升级和降级。

在运行别的项目的时候,由于 Node 版本不同引起的项目报错问题,如 renewal-new 续保项目因为升级 node 高版本导致项目运行不起来(降低 node 版本 为 v12 后 v14 可 正常下载并运行),具体的报错如下所示:

为了探索新技术,需要升级 node 版本。但是如果想看旧项目的问题,还得把 node 降回旧版本。所以我们需要切换 node 版本。

nvm 是什么?

nvm 全英文也叫 node.js version management,是一个 nodejs 的版本管理工具。nvm 和 n 都是 node.js 版本管理工具,为了解决 node.js 各种版本存在不兼容现象可以通过它可以安装和切换不同版本的 node.js。

怎样使用 nvm

步骤:

  1. 卸载之前的 node 后安装 nvm ,使用 nvm-setup.exe 安装版,直接双击运行,同意协议后点击下一步下一步按默认目录安装完成;

  2. 进入安装的位置:C:\Users\自己的账户名\AppData\Roaming\nvm,下载小组常用 node 包库版本,解压后复制内容放置于 nvm 文件夹内根目录;

v8.11.2
v12.18.3
v14.18.2
v16.16.0
  1. 切换 node 版本,以管理员方式运行 cmd (命令提示符)打开黑窗口,命令如下:
# 查看 nvm 可用 node 版本列表
nvm list

# 切换 node 版本为某个版本
nvm use 16.16.0

使用图例:

  1. 想要更多版本,访问https://registry.npmmirror.com/binary.html 地址,可用于 nvm 管理的 node 压缩文件如下所示,下载好 node-v14.18.2-win-x64.zip 解压后修改文件夹名称为 v 打头的版本号复制于 nvm 包管理目录即可使用。

nodejs 官方更多版本(nodejs.org/dist/)

使用 nrm 管理 npm 源

使用nrm可以让我们来切换不同的npm源而不用单独安装cnpm之类的库

安装nrm

$ npm install -g nrm

使用命令

$ nrm ls # 列出当前支持切换的源

PS C:\Users\Administrator> nrm ls
  npm ---------- https://registry.npmjs.org/
  yarn --------- https://registry.yarnpkg.com/
  tencent ------ https://mirrors.cloud.tencent.com/npm/
  cnpm --------- https://r.cnpmjs.org/
* taobao ------- https://registry.npmmirror.com/
  npmMirror ---- https://skimdb.npmjs.com/registry/

$ nrm use taobao # 使用taobao的源作为默认的npm源

# 新增 npm 源

$ nrm add <registry> <url>        Add one custom registry
$ nvm use <registry>

(完)