React Native双端运行报错:x86_64架构存在5个重复符号
解决React Native中Flipper重复符号错误(5 duplicate symbols for architecture x86_64)
核心原因
错误直接源于项目中存在两处版本冲突的Flipper配置:use_flipper!({ "Flipper-DoubleConversion" => "3.1.7" }) 和 use_flipper!({ "Flipper-DoubleConversion" => "1.1.7" }),同一依赖的不同版本被同时引入,导致编译时符号重复。另外无用代码(dead code)可能加剧编译资源冲突,需要一并清理。
分步解决步骤
1. 统一Flipper版本配置
- 找到项目中所有包含
use_flipper!的配置文件(通常是ios/Podfile以及可能的子模块Podfile) - 删除其中一处重复的
use_flipper!配置,建议保留较新的3.1.7版本(兼容性更好) - 修改后示例:
use_flipper!({ "Flipper-DoubleConversion" => "3.1.7" })
2. 清理iOS端依赖缓存
在项目根目录执行以下命令:
cd ios pod deintegrate pod install --repo-update
3. 清理无用代码与全局缓存
- 手动删除项目中未被引用的组件、工具类或冗余配置代码
- 执行React Native全局缓存清理:
npx react-native clean - 安卓端额外执行:
cd android ./gradlew clean
4. 重新编译项目
- iOS端:打开Xcode,使用快捷键
Cmd+Shift+K清理构建文件夹后重新运行 - 安卓端:执行
npx react-native run-android
验证结果
重新编译后,5 duplicate symbols for architecture x86_64错误应该消失。如果仍有问题,检查是否存在其他依赖版本冲突,或尝试删除node_modules后重新执行npm install。
内容的提问来源于stack exchange,提问作者Hanees Khan
相关产品推荐
相关产品推荐

