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

React Native 0.62升级0.68 iOS新架构构建PhaseScriptExecution报错求助

iOS端React Native 0.68新架构构建报错修复方案

PhaseScriptExecution failed with a nonzero exit code (FBReactNativeSpec.build/Script-46EB2E00014D80.sh)是0.68版本新架构适配的典型报错,跨大版本升级、甚至新建项目触发该问题,本质都是缓存残留、配置错配、环境不兼容三类原因,按以下步骤逐次操作即可解决,不要跳步:

  • 第一步:全链路清理残留缓存
    完全退出Xcode、关闭所有Metro及终端进程后,在项目根目录依次执行以下命令:

    watchman watch-del-all
    rm -rf node_modules && yarn install
    rm -rf ~/Library/Developer/Xcode/DerivedData/*
    cd ios
    rm -rf Pods Podfile.lock build
    pod deintegrate
    

    从0.62及以下版本升级的项目会残留大量老架构的编译缓存,跳过这步后续所有配置都不会生效。

  • 第二步:修正Podfile配置(90%的报错源于这步配置错误)
    打开ios目录下的Podfile,逐行核对以下配置:

    1. 文件最顶部全局声明新架构开关,注意0.68版本需要同时兼容两个环境变量标记,不要只抄最新版文档的单开关配置:
      ENV['USE_NEW_ARCH'] = '1'
      
    2. use_react_native!配置块中必须显式传入以下参数,不要留默认值:
      use_react_native!(
        :path => config[:reactNativePath],
        :hermes_enabled => true,
        :fabric_enabled => true,
        :app_path => "#{Pod::Config.instance.installation_root}/.."
      )
      
    3. 删除所有0.62版本时期手动添加的FBReactNativeSpec、RCTRequired、RCTTypeSafety等单独pod引用,新架构下这些依赖会由Codegen脚本自动引入,手动添加会触发符号冲突导致脚本执行失败。
  • 第三步:带环境变量重新安装Pod依赖
    在ios目录下执行安装命令,不要省略前缀的环境变量声明:

    RCT_NEW_ARCH_ENABLED=1 USE_NEW_ARCH=1 pod install
    

    安装完成后检查控制台输出,必须出现Installing React-Codegen、Generating FBReactNativeSpec codegen artifacts相关日志,如果没有输出这部分内容,回到上一步检查Podfile配置。

  • 第四步:校验构建环境版本
    0.68版本的新架构仅兼容Xcode 13.3~13.4版本,使用Xcode 14及以上版本编译时,自带的Clang版本与0.68依赖的Folly版本不兼容,会直接导致Codegen脚本执行失败,这也是新建空白项目开启新架构无法运行的核心原因,必须切换到对应版本的Xcode后再执行构建。
    切换Xcode版本后执行sudo xcode-select -s /Applications/Xcode13.app/Contents/Developer(路径替换为你本地Xcode13的实际路径),再执行一次pod install。

  • 第五步:首次构建注意事项
    不要直接用Xcode的Run按钮启动,先在项目根目录执行yarn ios触发首次构建,第一次构建会自动生成所有Codegen相关的桥接代码,耗时比老架构长3~5分钟,不要中途中断,中断后必须回到第一步重新清理缓存再重试。
    构建前检查项目Build Settings中的Other Linker Flags项,确认存在$(inherited)值,且能看到自动生成的-lreact_codegen_rncore参数,缺失该参数说明Pod依赖未正确安装。

额外注意:从0.62版本升级的项目,需要暂时移除所有不支持新架构的手动链接第三方原生库,这类库的存在也会导致Codegen脚本执行阶段抛出异常,等项目基础壳工程能正常运行后,再逐个适配第三方库的新架构版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:54:18