React Native在XCode 15.4与macOS Sonoma 14.5下构建失败如何解决?
问题描述
我尝试了多种方法解决该错误,但因代码版本与最新macOS不兼容,无法降级版本。已尝试的操作包括:
- 删除并重新安装
node_modules - 重新安装Pods
- 重启电脑
- 升级CocoaPods等包管理器
- 创建新项目重复所有操作,但均无效。
错误截图:
解决方案
针对无法降级代码版本的情况,试试以下针对性方案:
1. 用Rosetta 2转译终端(Apple Silicon芯片适用)
旧版本工具对arm64架构支持不佳时,强制终端以x86_64模式运行:
- 找到「终端」App,右键选择「显示简介」
- 勾选「使用Rosetta打开」
- 重启终端后,重新执行
npm install和pod install命令
2. 锁定CocoaPods到兼容版本
最新版CocoaPods可能和旧代码冲突,回退到匹配的稳定版:
# 卸载当前CocoaPods sudo gem uninstall cocoapods # 安装指定兼容版本(示例为1.11.3,根据项目需求调整) sudo gem install cocoapods -v 1.11.3 # 重新初始化Pods pod deintegrate && pod install --repo-update
3. 用版本管理器固定Node版本
用nvm确保项目使用的Node版本既适配代码,又兼容最新macOS:
# 用Homebrew安装nvm brew install nvm # 配置nvm到zsh环境(bash用户替换为~/.bash_profile) echo "source $(brew --prefix nvm)/nvm.sh" >> ~/.zshrc source ~/.zshrc # 安装项目所需Node版本(示例为16.18.0) nvm install 16.18.0 nvm use 16.18.0 # 重新安装前端依赖 rm -rf node_modules package-lock.json npm install
4. 调整Xcode编译架构设置(iOS项目)
如果是iOS编译报错,修改Xcode架构配置:
- 打开Xcode项目,进入「Build Settings」
- 找到「Architectures」,设置为
Standard Architectures (arm64, x86_64) - 将「Build Active Architecture Only」设为
Yes(Debug模式) - 清理缓存:按下
Cmd + Shift + K,然后重新编译
5. 修复第三方依赖兼容性
部分原生依赖未适配最新macOS,可通过补丁或替换版本解决:
- 检查
package.json和Podfile中的依赖版本,查阅官方文档确认是否有适配版 - 用
patch-package给依赖打本地补丁:
npm install patch-package --save-dev # 修改node_modules中对应依赖的代码后,生成补丁 npx patch-package [依赖包名称] # 补丁文件会存到项目根目录,后续安装依赖自动应用
内容的提问来源于stack exchange,提问作者Chanaka Amarasinghe
相关产品推荐
相关产品推荐

