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

React Native降级后Xcode运行报错:butter/map.h文件未找到

'butter/map.h' file not found 解决指南(RN 0.72.7降级到0.69.3后)

这个错误本质是RN版本降级后,依赖的C/C++底层库(比如folly)版本不兼容,或者缓存/配置残留导致依赖没有正确同步。下面是一步步的解决方法:

1. 彻底清理CocoaPods并重新安装

先把iOS目录下的旧依赖清干净,避免缓存干扰:

  • 切到iOS目录:cd ios
  • 删除锁文件和Pods文件夹:rm Podfile.lock && rm -rf Pods
  • 清空CocoaPods全局缓存:pod cache clean --all
  • 重新安装依赖,M1/M2芯片的Mac记得加arch指令:arch -x86_64 pod install(Intel芯片直接用pod install)

2. 同步第三方库到适配RN 0.69.3的版本

很多第三方库对RN版本有强依赖,降级RN后没同步降级这些库就会出问题:

  • 打开项目根目录的package.json,排查那些可能涉及底层C/C++依赖的库(比如网络、性能监控类的包)
  • 查这些库的文档,找到适配RN 0.69.x的版本号,修改package.json后执行npm install(或yarn install),再重新跑pod install

3. 修正Xcode的Header Search Paths配置

有时候旧的路径配置会残留,导致Xcode找错文件:

  • 打开iOS项目的Xcode工程,选中主target
  • 进入Build Settings,搜索Header Search Paths
  • 确保列表里有$(inherited)(这个会自动继承Pods的路径配置),删掉任何指向高版本RN的无效路径,保存后重新编译

4. 清空Xcode编译缓存

Xcode的旧缓存也可能导致编译异常:

  • 用快捷键Cmd+Shift+K清理编译文件夹,或者点击菜单栏Product > Clean Build Folder
  • 完全关闭Xcode,杀掉后台的Xcode进程
  • 重启Xcode后重新运行项目

5. 检查RN核心依赖的完整性

RN 0.69.x依赖的folly版本和0.72.x不同,butter是folly的子模块,确保它被正确安装:

  • 进入ios/Pods/Folly目录,检查是否存在butter文件夹
  • 如果不存在,删掉项目根目录的node_modules:rm -rf node_modules,重新执行npm install,再重新运行pod install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:10:11