React Native run-ios报错:PhaseScriptExecution(FBReactNativeSpec)失败求助
React Native iOS构建失败:FBReactNativeSpec的Generate Specs阶段报错(M1 Mac环境)
问题详情
我是React Native新手,跟着官方《Environment Setup》文档(选的React Native CLI、Mac + iOS环境)搭完环境后,跑npx react-native run-ios时直接BUILD FAILED,具体是Pods项目里FBReactNativeSpec目标的PhaseScriptExecution [CP-User] Generate Specs执行失败。
我的环境:
- M1芯片MacBook Air
- macOS Monterey
- Xcode 14.2
- Node v19.6.0(nvm管理,路径
/Users/username/.nvm/versions/node/v19.6.0/bin/node) - Metro v0.73.7
已经试过但没用的操作:
- 换Node版本(包括用nvm切换)
- 删除build文件夹后重新
pod install - 注释Podfile里的
post_install函数 - 搜Stack Overflow的相关方案试了个遍
解决方案
1. 对齐Xcode命令行工具版本
打开Xcode,进入Xcode > 设置 > 位置,检查命令行工具是否选中Xcode 14.2版本,未选中的话手动选择后重启终端。
2. 在Podfile里指定Node路径(适配nvm)
打开项目的ios/Podfile,找到use_react_native!配置块,添加Node路径指定:
use_react_native!( :path => config[:reactNativePath], # 替换成你的Node实际路径 :node_path => '/Users/username/.nvm/versions/node/v19.6.0/bin/node' )
然后执行:
cd ios pod deintegrate pod install cd .. npx react-native run-ios
3. 关闭Xcode并行构建
- 用Xcode打开
ios/你的项目名.xcworkspace - 点击项目根节点,选择
Build Settings - 搜索
Parallelize Build,将其设置为NO - 重新执行构建或
npx react-native run-ios
4. 彻底清理缓存与构建产物
执行以下命令:
npx react-native start --reset-cache rm -rf ios/build rm -rf ~/Library/Developer/Xcode/DerivedData cd ios pod deintegrate rm Podfile.lock pod install cd .. npx react-native run-ios
5. 给终端开启Rosetta兼容(M1专属)
- 找到终端图标,右键选择
显示简介 - 勾选
使用Rosetta打开,重启终端 - 重新执行
pod install和构建命令
内容的提问来源于stack exchange,提问作者Phillip Nguyen
相关产品推荐
相关产品推荐

