报Node.js 的 Error: error:0308010C:digital envelope routines::unsupported 错误
是由于使用了最新的node.js版本所导致
由于项目是2021年建立,由于 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,会对现有系统造成一些影响.
所以运行不成功。项目支撑的node版本需要回退到node.js的v16版本
方法一:在项目运行的时候,增加指令
"start": "set NODE_OPTIONS=--openssl-legacy-provider && cross-env UMI_ENV=dev umi dev",
方法二,通过nvm来实时切换版本
在学习前端框架或者是nodejs时,有时候某些框架对nodejs的版本有要求。但此时你的电脑上已经安装了10.x版本的nodejs,你不想直接更新到12.x,想同时保存10.x和12.x版本,在必要的时候还能随时切换nodejs版本。那么nvm工具你值得拥有。
一、首先要安装nvm
下载地址:nvm官网
备用下载地址