node.js - 将项目的节点版本从 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的最新+稳定版本是14.x。所以我建议你使用 node v14。但最终,您可以选择使用哪个版本。您可以nvm
用来管理多个节点版本,并且可以从这里下载 - https://github.com/nvm-sh/nvm。
要记住的两个简单命令nvm
是
nvm ls
- 打印您机器上安装的节点版本和您正在使用的当前节点版本。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
- 这将迭代地安装升级并运行您的单元测试以识别任何破坏性升级。并且如果它在升级某个依赖项后发现任何破坏性更改,它将恢复到以前的版本以防止破坏。
推荐阅读
- react-native - android中的动态数据选择器。但它给了我一个错误“无法读取 null 的属性”
- ionic-framework - 在 ionic 3 中添加离开或留在页面警报?
- android - Android Studio 构建错误:执行任务':app.processDebugResources'
- ios - Firebase InstanceId 未解析的标识符 swift4
- powershell - ? 添加到 String Powershell
- wordpress - HTML 标记未正确呈现 - 读取文本文件 - wrpdress
- html - 如何在彼此下方对齐两个div?(顶部 div 被减半)
- c# - 与 C# 中分组的 KeyValuePair 列表中的公共值相交
- docker - ASP.NET Core Docker 环境变量(如果应用迁移)
- css - 当可拖动的引导模式对话框被拖动到浏览器窗口的最左侧或最顶部时,滚动条不出现