安装react-router-dom时出现ERR_OSSL_EVP_UNSUPPORTED错误求助
解决ERR_OSSL_EVP_UNSUPPORTED错误的方法
这个错误是Node.js v17+版本启用了OpenSSL 3.0的加密算法,而旧版webpack(react-scripts依赖的版本)不兼容导致的,以下是几种可行方案:
临时启动方案
根据你的操作系统,在终端执行对应命令启动项目:
- Windows(命令提示符):
set NODE_OPTIONS=--openssl-legacy-provider && npm start - Windows(PowerShell):
$env:NODE_OPTIONS="--openssl-legacy-provider"; npm start - macOS/Linux:
NODE_OPTIONS=--openssl-legacy-provider npm start
永久修改脚本方案
修改项目根目录的package.json文件,在scripts里给start、build命令添加环境变量:
Windows系统:
"scripts": { "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", "build": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }
macOS/Linux系统:
"scripts": { "start": "export NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", "build": "export NODE_OPTIONS=--openssl-legacy-provider && react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }
修改后直接执行npm start即可。
降级Node.js版本方案
使用Node版本管理器(如nvm)将Node.js降级到v16.x版本:
- 安装nvm后,执行:
nvm install 16 - 切换到v16版本:
nvm use 16
之后再启动项目即可正常运行。
内容的提问来源于stack exchange,提问作者Z1mu
相关产品推荐
相关产品推荐

