升级步骤
其实升级的话比较简单,直接使用 nvm 进行升级即可,主要是要针对升级后的项目做一些验证,这里主要记录需要验证的一些点及遇到的一些问题和解决方案。
升级基础包及问题总结的文章会有一定的时效性,比如现在遇到的一些问题,过段时间官方进行升级了或者出了更好的方案,那目前这个文章里记录的可能就不太适用了,所以仅做参考
主要分为两步,第一步是在本地做验证,第二步是升级发布系统的环境,然后做线上验证。
步骤一:本地环境升级 node18 后进行验证
使用 nvm 管理 node 的版本。
npm install NEW_VERSION
nvm install 18.13.0 nvm alias default v18.13.0
Reinstall related dependencies
2.1.针对单独的项目而言,直接执行rm -rf node_modules rm -rf package.lock.json npm install
2.2 还有一些包是安装在全局的,当然可以等遇到报错 xx not found 的时候再单独手动安装,也可以直接执行下面命令避免手动重新安装所有的全局包。
具体可参考 How to properly upgrade node using nvmnvm install NEW_VERSION --reinstall-packages-from=OLD_VERSION // eg: nvm install 18.13.0 —reinstall-packages-from=14.20.0
步骤二:发布系统切换 node18
1、发布系统服务器升级 node18
2、在本地验证通过后,在发布系统进行发布后,线上运行正常
验证过程及范围
本地
按照上述升级步骤在本地执行以下脚本是否可以正常运行
- npm install
- npm run dev
- npm run build
线上
确认线上部署方案
- 如果是 docker 则直接修改 node 的依赖版本
- 修改部署脚本的 node 版本
- 执行上线部署脚本可以正常运行
升级过程中遇到的一些问题
- npm i 报错 ERESOLVE could not resolve 或RESOLVE unable to resolve dependency tree(无法解析依赖关系树)
- npm run build / start 报错 Error:error:0308010C:digital enveloperoutines::unsupported
- centos7 环境 使用node18 的报错
具体的问题表现和解决方案可以看另一篇文章node14升级node18的问题总结
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。