React Native 0.66开启Hermes后Folly与Flipper冲突报重复符号错误
问题根因
编译报错是因为React Native 0.66内置依赖的RCT-Folly库和Flipper调试工具依赖的Flipper-Folly库版本不匹配,两个库导出了完全相同的folly相关符号,导致链接阶段出现重复符号错误。
解决方案
1. 修改Podfile配置
将你原有use_flipper!()行替换为指定版本的Flipper依赖,确保Flipper配套依赖版本和RN 0.66的RCT-Folly版本对齐:
# 替换原有 use_flipper!() 为下面的内容 use_flipper!({ 'Flipper' => '0.99.0', 'Flipper-Folly' => '2.6.7', 'Flipper-RSocket' => '1.4.3', 'Flipper-DoubleConversion' => '3.1.7' })
你原有Podfile的其余配置不需要修改。
2. 清理旧依赖并重新安装
在项目的ios目录下依次执行以下命令:
- 清理旧的Xcode编译缓存
rm -rf ~/Library/Developer/Xcode/DerivedData/*
- 清理本地Pod残留文件
rm -rf Pods Podfile.lock pod deintegrate pod cache clean --all
- 重新安装Pod依赖
pod install
3. 验证编译
重新用Xcode打开项目的.xcworkspace文件执行编译,即可同时正常使用Hermes引擎和Flipper调试工具。
内容的提问来源于stack exchange,提问作者cuongtd
相关产品推荐
相关产品推荐

