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

Mac执行npx react-native run-ios构建现有iOS项目失败如何解决

React Native iOS构建RCT-Folly及React-Core编译报错修复方案

问题说明

  • 在Mac设备运行现有React Native项目生成iOS构建包,执行npx react-native run-ios命令时抛出异常,初步判断报错与RCT-Folly相关,此前尝试多个公开解决方案、新建空白RN项目迁移业务文件、重装CocoaPods均未修复,问题已阻塞开发3天以上。
  • 降级React Native版本后出现新的React-Core相关编译报错,报错日志如下:
CompileC /Users/admin/Desktop/MTM/mindToMindfull\ 2/ios/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Core.build/Objects-normal/x86_64/RCTJSThread.o /Users/admin/Desktop/MTM/mindToMindfull\ 2/node_modules/react-native/React/Base/RCTJSThread.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler (in target 'React-Core' from project 'Pods')

补充说明:RCT-Folly是React Native底层依赖的C++通用工具库,版本不匹配、编译参数配置错误是RN iOS构建阶段最常见的报错诱因之一。

分步修复操作

第一步:全链路清理缓存与旧依赖

按顺序执行以下命令,彻底清除所有可能导致冲突的缓存、旧构建产物:

# 清理watchman监听缓存
watchman watch-del-all
# 清理JS侧依赖与锁文件
rm -rf node_modules
rm -rf yarn.lock package-lock.json
# 清理iOS侧Pods依赖、构建产物
cd ios
rm -rf Pods
rm -rf Podfile.lock
rm -rf build
pod deintegrate
cd ..

注意:从报错路径可以看到当前项目存放目录mindToMindfull 2包含空格,先把目录重命名为无空格、无特殊字符的格式(例如mindToMindfull2),路径含空格会触发大量底层编译路径解析错误,是新手极易忽略的基础问题。

第二步:Podfile添加依赖版本与编译参数锁定

打开ios/Podfile文件,在post_install钩子中添加如下配置,锁定RCT-Folly版本、修复React-Core编译参数:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    # 配置RCT-Folly编译参数,避免宏定义缺失报错
    if target.name == 'RCT-Folly'
      target.build_configurations.each do |config|
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
          '$(inherited)',
          'FOLLY_NO_CONFIG=1',
          'FOLLY_MOBILE=1'
        ]
      end
    end
    # 修复React-Core模拟器架构编译报错
    if target.name == 'React-Core'
      target.build_configurations.each do |config|
        config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
        config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = ''
      end
    end
  end
end

不要随意跨大版本升降级React Native,0.68~0.72区间的RN版本固定适配Folly 2021.07.22.00版本,手动修改Folly版本号会直接触发依赖冲突。

第三步:重新安装依赖执行构建

按顺序执行以下命令重新安装依赖、启动构建:

# 安装JS侧依赖
yarn install # 使用npm的话替换为npm install
# 安装iOS侧Pods依赖
cd ios
pod install --repo-update
cd ..
# 启动iOS构建
npx react-native run-ios

额外排查项

如果完成上述操作后仍存在编译报错,依次核对以下配置:

  • 确认Xcode版本与当前使用的React Native版本匹配,0.70及以上版本RN要求Xcode最低版本为14.0
  • 打开Xcode检查主项目与所有Pods依赖的iOS部署目标版本,统一设置为13.0及以上,避免版本不一致触发编译错误
  • 确认本地Command Line Tools已在Xcode设置中绑定为当前安装的Xcode版本,不要使用单独安装的Command Line Tools包

内容的提问来源于stack exchange,提问作者Ahmad Hussain

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:54:24