升级步骤其实升级比较简单,直接使用nvm升级即可,主要是对升级后的项目做一些验证,这里主要记录一些需要验证的点和遇到的一些问题和解决方案。升级基础包和问题总结的文章会有一定的时效性。比如现在遇到的一些问题,官方会升级或者过段时间拿出更好的解决方案,那么本文目前的记录可能不适用,所以主要分为两个步骤,仅供参考。第一步是本地验证,第二步是升级发布系统的环境,然后再做线上验证。第一步:本地环境升级node18后验证使用nvm管理node的版本。npminstallNEW_VERSIONnvminstall18.13.0nvm别名默认v18.13.0重新安装相关依赖2.1。个别项目直接执行rm-rfnode_modulesrm-rfpackage.lock.jsonnpminstall2.2全局安装一些包,当然也可以等遇到xxnotfound的错误再手动安装,也可以直接执行以下命令避免手动重新安装所有全局包。详情请参考HowtoproperlyupgradenodeusingnvmnvminstallNEW_VERSION--reinstall-packages-from=OLD_VERSION//eg:nvminstall18.13.0--reinstall-packages-from=14.20.0第二步:释放系统开关node181,releasesystem服务器升级到node182。本地验证通过,发布系统发布后,上线运行正常。本地的验证过程和范围按照上面的升级步骤在本地执行如下脚本,看是否可以正常运行。npminstallnpmrundevnpmrunbuild在线确认如果部署方案是docker,直接修改node的依赖版本。修改部署脚本的节点版本。执行在线部署脚本即可正常运行。升级过程中遇到的一些问题。npmi报错ERESOLVEcouldnotresolveorRESOLVEunabletoresolvedependencytree(无法解析依赖树)npmrunbuild/starterrorError:error:0308010C:digitalenveloperoutines::unsupportedcentos7environmentusingnode18报错具体问题表现及解决可以参考另一篇node14升级node18问题总结参考https://nodesource.com/blog/11-features-nodeJS-18-to-trywhat-does-npm-install-legacy-peer-deps-do-exactly-什么时候推荐
