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

运行npm start启动React项目时报digital envelope routines不支持错误怎么办

错误原因

你遇到的ERR_OSSL_EVP_UNSUPPORTED报错是Node.js v17+版本的兼容性问题:该版本默认启用OpenSSL 3.0,而你项目依赖的旧版webpack使用的MD4哈希算法在OpenSSL 3.0中默认被禁用,导致构建流程中断,开发服务未正常启动,因此浏览器访问时会提示localhost拒绝连接。

解决方案
  • 方案1:临时修改启动命令(无需调整依赖/Node版本)
    打开项目根目录的package.json文件,修改scripts字段下的start配置,添加OpenSSL兼容参数:
    👉 Mac/Linux环境修改为:

    "scripts": {
      "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start"
    }
    

    👉 Windows cmd环境修改为:

    "scripts": {
      "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start"
    }
    

    👉 如需跨系统兼容,可先执行npm i cross-env -D安装cross-env后修改为:

    "scripts": {
      "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider react-scripts start"
    }
    

    修改完成后重新执行npm start即可正常启动。

  • 方案2:升级项目依赖(推荐长期使用)
    直接将项目中的react-scripts升级到5.0及以上版本,新版本已经适配Node.js 17+的OpenSSL规则,无需额外修改配置:

    npm install react-scripts@latest
    

    升级完成后重启项目即可。

  • 方案3:降级Node.js版本
    不想修改项目配置的话,可以将本地Node.js版本降级到v16.x LTS版本,该版本使用旧版OpenSSL,不会触发该兼容错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:45:03