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

如何解决React Native Web中的error:0308010C相关错误

解决error:0308010C:digital envelope routines::unsupported错误

这个错误是因为Node.js v17及以上版本默认禁用了旧版OpenSSL哈希算法,而你的Expo Web依赖仍在使用这些算法。以下是几种可行的解决方法:

方法1:修改Web启动脚本,添加OpenSSL兼容参数

根据你的操作系统,修改package.json中的web脚本,加入--openssl-legacy-provider Node选项:

Windows系统

"scripts": {
  // ... 其他脚本
  "web": "SET NODE_OPTIONS=--openssl-legacy-provider && expo start --web"
}

Mac/Linux系统

"scripts": {
  // ... 其他脚本
  "web": "NODE_OPTIONS=--openssl-legacy-provider expo start --web"
}

修改后重新执行npm run web即可启动Web应用。

方法2:升级Expo相关依赖(推荐)

如果不想依赖旧版OpenSSL算法,建议升级Expo及其Web相关依赖到最新版本,新版本通常已适配Node.js v20的要求:

npm install expo@latest expo-webpack-config@latest

或者使用yarn:

yarn add expo@latest expo-webpack-config@latest

升级完成后再尝试启动Web应用。

额外提示

你的start脚本存在语法错误:"expo start, react-app-rewired start --openssl-legacy-provider "中的逗号应该替换为&&(串行执行)或&(并行执行),否则会导致脚本执行失败,建议修正为:

"start": "expo start && react-app-rewired start --openssl-legacy-provider"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:21:06