Node.js v18运行React项目出现ERR_OSSL_EVP_UNSUPPORTED错误求解决
解决Node.js 18下React项目启动的ERR_OSSL_EVP_UNSUPPORTED错误
这个错误是因为Node.js 17及以上版本默认启用了更严格的OpenSSL哈希算法,而旧版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命令,替换为对应系统的版本:
"scripts": { // Windows 版本 "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", // macOS/Linux 版本(替换上面的start行) // "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }
修改保存后,直接运行npm start即可启动项目。
方法三:升级react-scripts到兼容版本
如果不想使用旧版加密算法兼容模式,可以升级react-scripts到支持Node.js 18的最新版本:npm install react-scripts@latest --force
升级完成后再执行npm start尝试启动。
内容的提问来源于stack exchange,提问作者Rohit Bale
相关产品推荐
相关产品推荐

