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

React Native + Xcode 14.2 无法归档构建,指定OPENSSL旧版提供者仍无效

解决React Native + Xcode 14.2构建归档时的ERR_OSSL_EVP_UNSUPPORTED错误
  • 让Xcode正确读取NODE_OPTIONS环境变量
    终端单独执行export NODE_OPTIONS=--openssl-legacy-provider后,Xcode不会自动继承这个变量。试试这两种方式:

    1. 先在终端执行上述命令,接着输入open -a Xcode从终端启动Xcode,这样构建时就能拿到这个变量。
    2. 直接在Xcode项目里加构建变量:进入项目的Build Settings,搜索Environment Variables,新增一条,键填NODE_OPTIONS,值填--openssl-legacy-provider。
  • 修改package.json的构建脚本
    如果是通过npm/yarn脚本触发归档,把环境变量直接嵌到脚本里:

    {
      "scripts": {
        "build:ios": "NODE_OPTIONS=--openssl-legacy-provider xcodebuild -workspace YourApp.xcworkspace -scheme YourApp -configuration Release archive"
      }
    }
    

    之后用npm run build:ios或者yarn build:ios来执行归档操作。

  • 临时降级Node.js版本
    这个错误本质是Node.js 17+的OpenSSL加密算法变更导致的,要是上面的方法都没用,降级到Node.js 16.x LTS版本试试。用nvm管理版本的话:

    • 执行nvm install 16安装16.x版本
    • 执行nvm use 16切换到该版本
      再重新尝试构建归档。
  • 排查Metro配置冲突
    检查metro.config.js里的自定义配置,比如自定义transformer是否和当前Node.js版本不兼容。可以先换成默认配置测试,排除配置层面的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:53:17