IntelliJ IDEA创建默认React项目报错error:0308010C该如何解决
问题原因
该错误是Node.js 17及以上版本内置的OpenSSL 3.0对加密算法做了更严格的安全限制,而默认配置的React项目中react-scripts依赖的旧版webpack默认使用的MD4哈希算法被OpenSSL 3.0标记为不安全,因此启动时触发报错。
可用临时解决方法
方法1:添加Node.js启动参数启用旧版SSL提供商
修改package.json中的scripts启动命令,根据运行系统选择对应配置:- Windows系统(cmd/powershell环境):
将原有"start": "react-scripts start"修改为:"start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start" - Mac/Linux系统:
将原有"start": "react-scripts start"修改为:"start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start"
如需跨系统通用可以先安装跨环境变量工具:
npm i cross-env -D,再修改为:"start": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts start"如果打包时也报相同错误,对应修改
build命令的配置即可- Windows系统(cmd/powershell环境):
方法2:降级Node.js到16.x LTS版本
卸载当前安装的Node.js 17及以上版本,安装Node.js 16.x长期支持版本即可正常启动项目,该方法适配性最强,不需要修改项目任何配置。方法3:升级
react-scripts到5.0.1及以上版本
新版本react-scripts已经适配了Node.js高版本的加密限制,执行npm i react-scripts@latest升级依赖即可解决问题,升级后如果出现其他依赖兼容性问题需要对应调整。
内容的提问来源于stack exchange,提问作者a1cd
相关产品推荐
相关产品推荐

