You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行React18应用时出现digital envelope error错误求助

解决React应用启动时出现的error:0308010C:digital envelope routines::unsupported错误

这个错误是因为你的Node.js版本(17及以上)默认使用OpenSSL 3.0的哈希算法,而旧版react-scripts(你用的是2.1.3)依赖的Webpack 4不支持该算法导致的,以下是三种可行解决方案:

方案一:临时修改启动脚本(最快生效)

在dev脚本中添加NODE_OPTIONS=--openssl-legacy-provider参数,强制使用旧版哈希算法:

"scripts": {
    "dev": "export REACT_APP_ENV=DEVELOPMENT PORT=7011 NODE_OPTIONS=--openssl-legacy-provider && react-scripts start"
}

如果是Windows系统(使用cmd命令行),将export替换为set:

"scripts": {
    "dev": "set REACT_APP_ENV=DEVELOPMENT && set PORT=7011 && set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start"
}

方案二:升级react-scripts到兼容版本

你的react-scripts版本过旧,直接升级到支持React 18和Node.js 17+的5.x版本:

  1. 卸载旧版本:
npm uninstall react-scripts
  1. 安装最新稳定版:
npm install react-scripts@latest
  1. 重新启动应用:
npm run dev

注意:升级后如果使用了react-app-rewired,需要确认其版本是否兼容新版react-scripts,或考虑改用craco替代。

方案三:降级Node.js版本

将Node.js降级到16.x或更低版本(这些版本默认使用OpenSSL 1.1.1,不会触发该错误),可以用nvm(Node版本管理器)操作:

  1. 安装nvm后,执行以下命令切换版本:
nvm install 16
nvm use 16
  1. 重新启动应用:
npm run dev

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 03:37:45