React项目执行npm start时报错ERR_OSSL_EVP_UNSUPPORTED求助
问题解决:ERR_OSSL_EVP_UNSUPPORTED 启动React项目报错
不需要额外安装任何软件,这个错误是Node.js 17+版本与旧版webpack/react-scripts的兼容性问题导致的。Node.js 17及以上默认启用OpenSSL 3.0,禁用了部分旧哈希算法,但你的项目依赖(比如webpack)仍在使用这些算法,从而触发报错。
以下是几种可行的解决方法:
方法1:临时添加环境变量启动
根据你的系统执行对应命令:
- Windows CMD:
set NODE_OPTIONS=--openssl-legacy-provider && npm start - Windows PowerShell:
$env:NODE_OPTIONS="--openssl-legacy-provider"; npm start - Linux/macOS:
NODE_OPTIONS=--openssl-legacy-provider npm start
方法2:修改package.json永久生效
打开项目根目录的package.json,修改scripts中的start命令,加入环境变量配置:
"scripts": { // Windows系统用这个 "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start", // Linux/macOS系统替换成下面这行 // "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start", "build": "react-scripts build", "test": "react-scripts test" }
修改后直接执行npm start即可。
方法3:升级依赖适配新Node.js版本
如果希望从根本上解决,建议升级项目依赖到兼容Node.js 18的版本:
- 若为Create React App项目,升级react-scripts:
npm install react-scripts@latest - 若直接使用webpack,升级webpack:
npm install webpack@latest
内容的提问来源于stack exchange,提问作者Akash Varghese
相关产品推荐
相关产品推荐

