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

Mac环境React项目npm start报错ERR_OSSL_EVP_UNSUPPORTED localhost拒绝连接

问题根因

报错ERR_OSSL_EVP_UNSUPPORTED(对应错误码error:0308010C:digital envelope routines::unsupported)是Node.js 17及以上版本与旧版React项目依赖不兼容导致的。
Node 17+版本内置OpenSSL 3.0,移除了webpack 4(react-scripts 5.0以下版本默认依赖webpack 4)使用的MD4哈希算法,直接导致构建流程中断,开发服务并未成功启动,因此无论访问localhost还是127.0.0.1都会提示连接拒绝,和host配置无关。

可用解决方法
  • 临时单次修复:在当前终端窗口先执行命令设置环境变量,开启旧版OpenSSL兼容模式:
    export NODE_OPTIONS=--openssl-legacy-provider
    
    之后再执行npm start即可正常启动项目。
  • 项目配置固定:如果不想每次启动前手动设置环境变量,可以直接修改项目根目录下package.json文件内的启动脚本,将scripts字段下的start配置修改为:
    "start": "NODE_OPTIONS=--openssl-legacy-provider react-scripts start"
    
    修改保存后,后续直接执行npm start即可自动带上兼容参数,无需额外操作。
  • 依赖升级适配(推荐):将项目中的react-scripts依赖升级到5.0.0及以上版本,新版依赖已经完成OpenSSL 3.0适配,不需要额外加兼容参数。在项目目录执行以下命令完成升级:
    npm install react-scripts@latest
    
    升级完成后重新执行npm start即可正常启动。
  • Node版本切换:如果不想修改项目依赖,可以将本地Node.js版本切换到16.x LTS长期支持版,该版本内置OpenSSL 1.1.1,不存在该兼容问题。如果本地安装了nvm版本管理工具,直接执行以下命令即可切换:
    nvm install 16
    nvm use 16
    
    切换版本后重新安装项目依赖,再执行启动命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.22 16:15:00