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

React Native报node.js Transformer构建失败0308010C错误,set命令无效

解决方案

这个报错本质是Node.js v17及以上版本默认使用OpenSSL 3.0,而旧版本React Native依赖的构建工具不兼容新的OpenSSL加密规则导致,你之前执行的命令未生效可以按照以下步骤排查修复:

  • 适配终端类型执行正确的环境变量命令
    你之前使用的set NODE_OPTIONS=--openssl-legacy-provider仅适用于CMD终端,需注意必须在启动RN metro服务的同一个终端窗口执行,执行完成后再启动服务,不能跨窗口操作。
    如果你使用的是PowerShell终端,需要替换为以下命令:
    $env:NODE_OPTIONS="--openssl-legacy-provider"
    
    如果你使用的是Git Bash等类Unix终端,替换为:
    export NODE_OPTIONS=--openssl-legacy-provider
    
  • 永久配置环境变量避免每次手动输入
    打开Windows 10的「编辑系统环境变量」面板,新建用户/系统变量,变量名填NODE_OPTIONS,变量值填--openssl-legacy-provider,配置完成后重启所有终端窗口,必要时重启操作系统即可永久生效。
  • 改项目启动脚本自动加载配置
    可以直接修改项目package.json中的启动脚本,不用手动敲环境变量命令:
    1. 如果你仅在CMD终端运行,将scripts下的start配置改为:
      "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-native start"
      
    2. 如果你需要兼容多终端,可以先安装跨环境变量工具npm i cross-env -D,再将start配置改为:
      "start": "cross-env NODE_OPTIONS=--openssl-legacy-provider && react-native start"
      
  • 终极兼容方案
    如果上述方法都不生效,要么将Node.js版本降级到16.x LTS版本(最稳定无兼容问题),要么将React Native版本升级到0.70及以上,新版本已经适配高版本Node的OpenSSL规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:45:00