React项目执行npm start出现ERR_OSSL_EVP_UNSUPPORTED错误求助
解决React项目npm start时的ERR_OSSL_EVP_UNSUPPORTED错误
这个错误是Node.js 17及以上版本默认使用的OpenSSL 3.0与部分旧版构建工具不兼容导致的,以下是几种可靠的解决方法:
方法一:临时启动时指定兼容参数
根据你的系统选择对应命令执行:
- 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永久配置
- 打开项目根目录下的
package.json文件,找到scripts中的start命令 - 修改启动脚本,添加兼容参数:
"scripts": { "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start", "build": "NODE_OPTIONS=--openssl-legacy-provider react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" } - 如果是Windows系统出现兼容性问题,先安装
cross-env依赖:
再修改脚本为:npm install cross-env --save-dev"scripts": { "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts start", "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts build" }
方法三:降级Node.js版本
如果不想使用兼容参数,可以将Node.js降级到16.x LTS版本(长期支持版),推荐用nvm(Node版本管理器)切换:
- 安装nvm后,执行命令安装16.x版本:
nvm install 16 - 切换到该版本:
nvm use 16 - 重新运行
npm start即可
内容的提问来源于stack exchange,提问作者Shashank Pant
相关产品推荐
相关产品推荐

