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

React Native项目在Xcode运行时出现ReactCodegen执行错误求助

ReactCodegen: Command PhaseScriptExecution failed with nonzero exit code (React Native)

问题描述

我通过以下命令创建了一个标准React Native应用:

npx react-native init sampleApp && cd ios && pod install

在Xcode中运行应用时,遇到错误:

ReactCodegen: Command PhaseScriptExecution failed with a nonzero exit code

我已经尝试了以下所有步骤,但问题仍未解决:

  • 清理iOS项目相关文件与依赖:
    cd ios
    rm .xcode.env.local
    rm .xcode.env
    pod deintegrate
    rm -rf ./build
    rm Podfile.lock
    cd ..
    rm -rf ./node_modules
    npm install
    cd ios
    pod install
    
  • 在Xcode中执行:
    • Product -> Clear all issues
    • Product -> Clean build folder
  • 环境相关操作:
    # 已安装Ruby 3.3.6
    ruby --version
    # 输出:ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [x86_64-darwin23]
    
    sudo gem install cocoapods
    pod setup
    pod cache clean --all
    xcode-select --install
    npx react-native start --reset-cache
    npm install
    

可行解决方法

1. 核对版本兼容性

确保Xcode版本与当前React Native版本匹配。例如React Native 0.75+需要Xcode 15.0及以上版本,可查看项目package.json里的RN版本,对照官方兼容要求确认。同时检查Node.js版本,RN 0.75+建议使用18.x或20.x版本,版本不符则切换后重新安装依赖。

2. 切换Ruby版本

高版本Ruby(如3.3.x)可能与ReactCodegen脚本存在兼容性问题,用rbenv或rvm切换到2.7.x或3.1.x版本后重新执行pod install:

# 以rbenv为例,先安装对应版本
rbenv install 3.1.4
rbenv local 3.1.4
cd ios
pod install

3. 修复脚本权限

给ReactCodegen的生成脚本添加可执行权限:

chmod +x node_modules/react-native/scripts/generate-specs.sh

之后回到Xcode重新构建项目。

4. 调整Xcode构建设置

  • 打开Xcode的File -> Project Settings,点击Build System下的Advanced,选择Legacy Build System。
  • 或在Scheme设置中关闭Parallelize Build选项,再尝试构建。

5. 手动执行脚本排查细节

手动运行ReactCodegen的生成脚本,查看具体错误信息:

cd ios
../node_modules/react-native/scripts/generate-specs.sh

根据输出的报错内容定位问题,比如依赖缺失、路径错误等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 05:06:06