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

React Native编译报错:opensslErrorStack初始化错误(Node版本更新后)

解决Node.js更新后React Native的ERR_OSSL_EVP_UNSUPPORTED编译错误

临时单次生效方案

在启动项目的命令前添加兼容参数:

  • Windows(命令提示符):set NODE_OPTIONS=--openssl-legacy-provider && npm start
  • Windows(PowerShell):$env:NODE_OPTIONS="--openssl-legacy-provider"; npm start
  • macOS/Linux:NODE_OPTIONS=--openssl-legacy-provider npm start

全局永久生效方案

将兼容参数设置为系统环境变量:

  • macOS/Linux:编辑当前Shell的配置文件(如~/.bashrc或~/.zshrc),添加一行 export NODE_OPTIONS=--openssl-legacy-provider,执行source ~/.bashrc(或对应配置文件)使设置生效
  • Windows:打开「系统属性→高级→环境变量」,新建系统变量,变量名填NODE_OPTIONS,变量值填--openssl-legacy-provider,重启终端后生效

项目级专属配置

修改项目根目录的package.json,更新启动脚本:

{
  "scripts": {
    "start": "NODE_OPTIONS=--openssl-legacy-provider react-native start",
    "android": "NODE_OPTIONS=--openssl-legacy-provider react-native run-android",
    "ios": "NODE_OPTIONS=--openssl-legacy-provider react-native run-ios"
  }
}

Windows命令提示符用户需调整脚本格式:set NODE_OPTIONS=--openssl-legacy-provider && react-native start

降级Node.js版本

若不想使用兼容模式,可降级到Node.js 16.x及以下版本(该错误源于Node.js 17+启用了新OpenSSL算法,旧项目依赖的加密逻辑不兼容)。通过nvm管理版本:

  • 安装nvm后执行:nvm install 16,再执行nvm use 16切换版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:30:39