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

无法启动React服务器:用Redux取MongoDB Atlas数据遇ERR_OSSL_EVP_UNSUPPORTED错误

解决ERR_OSSL_EVP_UNSUPPORTED构建错误导致页面空白的问题

这个错误是Node.js 17+版本与旧版webpack/react-scripts的兼容性问题,和你添加Redux从MongoDB取数据的逻辑本身无关——只是刚好在修改代码后触发了构建流程,暴露了这个隐藏的环境兼容问题。Node.js 17开始默认使用OpenSSL 3.0,而旧版webpack依赖的哈希算法不再被支持,导致构建失败,页面无法渲染。

快速临时解决

修改项目根目录package.json里的启动/构建脚本,添加兼容参数:

  • macOS/Linux/WSL环境:
    "scripts": {
      "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start",
      "build": "NODE_OPTIONS=--openssl-legacy-provider react-scripts build"
    }
    
  • Windows CMD环境:
    "scripts": {
      "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start",
      "build": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts build"
    }
    

修改后重新运行npm start,构建即可正常进行。

彻底根治(推荐)

升级依赖到兼容Node.js 17+的版本:

  1. 若使用Create React App,升级react-scripts到v5及以上:

    npm install react-scripts@latest
    # 或yarn用户执行:yarn add react-scripts@latest
    

    React Scripts v5已修复OpenSSL 3.0兼容问题,升级后无需额外配置。

  2. 若手动配置webpack,升级webpack到v5.60.0及以上:

    npm install webpack@latest --save-dev
    # 或yarn用户执行:yarn add webpack@latest --dev
    

    新版webpack支持OpenSSL 3.0的哈希算法,从根源解决问题。

备选方案

如果不想修改依赖,可以把Node.js版本降级到16.x LTS(比如16.20.0),该版本默认使用OpenSSL 1.1.1,不会触发此错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:42:45