首页 > 解决方案 > 将项目的节点版本从 v6x 更新到 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"
}

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

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

标签: node.jspromisehapi

解决方案


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

要记住的两个简单命令nvm

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

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

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

在项目文件夹中运行ncu命令后,ncu 将分析 package.json 中的所有依赖项并建议您的 package.json 可能的升级

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


推荐阅读