将项目的节点版本从 v6x 更新到 v12x

Updating node version of a project from v6x to v12x

我在节点 v6.12.0 中有一个节点 js 项目 运行,我需要将项目更新到节点 v12.18。

这些是在 package.json 中标记到项目的一些依赖项:

{
  "hapi": "^8.8.0"
  "joi": "^6.4.1"
  "mocha": "^2.4.5"
  "ioredis": "^2.4.0"
}

想知道我应该执行哪些所有步骤才能使此升级成为可能!

如果我升级到节点 v12,代码功能会中断吗?它向后兼容节点 v6 吗?所有这些 Promise.then(function()) 是否仍然可以在节点 v12 中工作?

节点当前最新+稳定版本为14.x。所以我建议你使用节点 v14。但最终由您选择要使用哪个版本。 您可以使用 nvm 来管理多个节点版本 & 它可以从这里下载 - https://github.com/nvm-sh/nvm.

nvm 需要牢记的两个简单命令是

  1. nvm ls - 打印您机器上安装的节点版本和您正在使用的当前节点版本。
  2. nvm use 14.x - 在你想要的节点版本之间切换。 运行执行此命令后,我将使用节点 v14.x

这就是您使用新节点版本的方式。

现在,为了更新 npm package.json 依赖项,请使用这个名为 ncu https://www.npmjs.com/package/npm-check-updates.

的很棒的包

一旦您在项目文件夹中执行 运行 ncu 命令,ncu 将分析您 package.json 中的所有依赖项并为您的 package.json[= 提出可能的升级建议19=]

还有另一个惊人的命令 - ncu --doctor -u - 这将迭代安装升级和 运行 您的单元测试以识别任何破坏升级。如果在升级某个依赖项后发现任何重大更改,它将恢复到以前的版本以防止损坏。