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

React Native Podfile中use_modular_headers!引发'ReactCommon'模块重定义错误

解决React Native中'Redefinition of module 'ReactCommon''错误

问题场景

通过npx react-native init MyNewProject创建RN项目,在iOS的Podfile中添加use_modular_headers!和第三方pod依赖后,Xcode和VS Code均出现'Redefinition of module 'ReactCommon''错误,重新安装pod后问题依旧。

解决方案

1. 缩小use_modular_headers!的作用范围

不要全局启用模块化头文件,仅给需要的第三方pod单独启用,避免和RN自身模块冲突:
修改Podfile如下:

target 'MyNewProject' do
  config = use_native_modules!
  
  use_react_native!(
    :path => config[:reactNativePath],
    :app_path => "#{Pod::Config.instance.installation_root}/.."
  )

  # 仅给目标第三方pod启用模块化头文件
  pod 'some pod', :modular_headers => true

  target 'MyNewProjectTests' do
    inherit! :complete
    # Pods for testing
  end
end

2. 彻底清理缓存并重装依赖

执行以下命令完成清理:

  • 进入iOS目录,删除Podfile.lock和Pods文件夹:
    cd ios
    rm -rf Podfile.lock Pods
    
  • 清理Xcode编译缓存:
    xcodebuild clean
    
  • 重新安装pod依赖:
    pod install
    

3. 明确禁用RN自身的模块化头(针对旧版本RN)

如果使用的是RN 0.68及以下版本,可在use_react_native!中添加参数,明确禁用RN自身的模块化头支持:

use_react_native!(
  :path => config[:reactNativePath],
  :app_path => "#{Pod::Config.instance.installation_root}/..",
  :modular_headers => false
)

4. 检查Xcode项目配置

打开Xcode项目,进入Build Settings:

  • 搜索Header Search Paths,确认没有重复添加ReactCommon相关的路径
  • 搜索Other C Flags,排查是否存在冲突的编译标记

内容的提问来源于stack exchange,提问作者Ram Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 07:17:34