Xcode 15.4中FBReactNativeSpec出现Command PhaseScriptExecution非零退出码错误
React Native 0.71.8 + Xcode 15.4 构建失败:FBReactNativeSpec模块触发Command PhaseScriptExecution非零退出码
问题描述
在Xcode 15.4中构建React Native 0.71.8项目时,遇到FBReactNativeSpec模块相关的构建失败,错误提示:
Command PhaseScriptExecution failed with a nonzero exit code
环境信息
- React Native版本:0.71.8
- Xcode版本:15.4
- macOS版本:14.5
已尝试操作
- 清理构建文件夹:执行
Product > Clean Build Folder - 重装npm包:删除
node_modules后执行npm install或yarn install - 重装Pods:删除
Pods文件夹与Podfile.lock,在ios目录执行pod install - 清除Derived Data:删除
~/Library/Developer/Xcode/DerivedData目录内容 - 更新React Native及相关依赖:确保所有依赖为最新版本
解决方案
1. 修复FBReactNativeSpec脚本权限
进入项目的ios/Pods/FBReactNativeSpec目录,给构建脚本添加可执行权限:
chmod +x generate-specs.sh
回到Xcode重新执行构建。
2. 切换Xcode构建系统
打开Xcode项目,进入File > Project Settings(或Workspace Settings),将构建系统从New Build System切换为Legacy Build System,清理后重新构建。
3. 指定兼容的Node.js版本
React Native 0.71.x推荐使用Node.js 16.x版本,用nvm切换版本:
nvm install 16 nvm use 16
重新执行pod install后再构建项目。
4. 手动生成Spec代码
在项目根目录手动触发Spec代码生成:
npx react-native generate-specs
完成后进入ios目录执行pod install,再回到Xcode构建。
5. 对齐Xcode命令行工具版本
确保命令行工具与Xcode版本一致:
xcode-select --switch /Applications/Xcode.app/Contents/Developer
验证版本:
xcodebuild -version
内容的提问来源于stack exchange,提问作者Waseem Kurne
相关产品推荐
相关产品推荐

