React开发服务器启动失败:error:0308010C数字信封例程不支持
解决React项目npm run start时出现ERR_OSSL_EVP_UNSUPPORTED错误
这个错误是Node.js v17及以上版本默认启用OpenSSL 3.0的严格加密算法校验,而旧版webpack(常见于react-scripts低版本)使用的哈希算法不兼容导致的。以下是几种有效的解决方案:
临时快速修复
直接在终端执行带环境变量的启动命令:
- Windows CMD:
set NODE_OPTIONS=--openssl-legacy-provider && npm start - Windows PowerShell:
$env:NODE_OPTIONS="--openssl-legacy-provider"; npm start - Mac/Linux:
NODE_OPTIONS=--openssl-legacy-provider npm start
永久修改启动脚本(推荐)
修改项目根目录的package.json,更新start命令,无需每次手动输入环境变量:
- 打开
package.json,找到scripts字段下的start项:- Windows环境:
"scripts": { "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" } - Mac/Linux环境:
"scripts": { "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }
- Windows环境:
- 保存后,直接执行
npm start即可。
如果需要跨平台兼容,先安装cross-env依赖:
npm install cross-env --save-dev
然后修改start脚本:
"scripts": { "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts start", ... }
彻底解决(升级依赖)
升级react-scripts到最新版本,新版已修复该兼容性问题:
npm install react-scripts@latest
升级完成后,执行npm start即可正常启动开发服务器。
内容的提问来源于stack exchange,提问作者Aaron Tauro
相关产品推荐
相关产品推荐

