前言
出现这个错误是因为 node.js V17及以后版本中最近发布的OpenSSL3.0,
而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响.
在node.js V17以前一些可以正常运行的的应用程序,但是在 V17 及以后版本可能会抛出以下异常:
我重装系统前,用的是V16.10左右的版本,今天一口气吃胖子了,直接用装了18.2.0最新稳定版本。
然而这是我第二次出现这个问题,上次node升级也是用的最新稳定版本,emmmm.........
解决方案一
在package.json 中进行配置,举例: "scripts": { "start": "SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", "build": "SET NODE_OPTIONS=--openssl-legacy-provider && react-scripts build" },
解决方案二 降级node版本
node的包管理是nvm 我肯定得装,因为我还需要v14的版本,虽然没有这么着急
下载地址: https://github.com/coreybutler/nvm-windows/releases
1. nvm list available 查看可装列表
2. nvm install 16.14.1 安装指定版本
3. nvm use v16.14.1 使用指定版本
我遇到的问题
1. 安装路径有空格,导致安装版本失败,强制用管理身份,安装成功
2. 但是nvm use v16.14.1 的时候乱码
3. 解决方案就是删除重新安装nvm 重头来过,应该是可以改setting.txt;但不如我的重头来过的好
终于成这样
变成了这样
解决方案三 降低node版本(2)
1. npm i -g -n
2. n 16.14.1 //安装指定版本
3. n rm 18.16.2 //remove 以前的版本