升级React Native至0.69.0后链接react-navigation报错如何解决
问题描述
将项目中的React Native版本升级至0.69.0后,对react-navigation执行链接操作时遇到报错,错误详情参考截图:
报错原因
React Native 从0.60版本开始引入*自动链接(Autolinking)*机制,0.69版本正式移除了对旧版手动link命令的兼容支持。手动执行react-native link的逻辑和新版本原生工程的依赖规则、目录结构不匹配,就会直接抛出错误。
解决步骤
- 不要手动执行
react-native link命令。RN0.69版本下所有符合规范的原生依赖,会在iOS端执行pod install、Android端构建安装包时自动完成链接,不需要额外手动操作。 - 先把react-navigation相关依赖升级到适配RN0.69的版本,旧版依赖本身不支持自动链接也会触发异常:
# 安装/升级react-navigation核心依赖与必要配套原生依赖 yarn add @react-navigation/native@^6.0.0 react-native-screens react-native-safe-area-context # iOS端同步安装pod依赖 cd ios && pod install && cd .. - 清理之前错误执行link命令残留的冗余配置:
npx react-native unlink react-navigation - 全量清理缓存和旧依赖后重新安装,避免残留文件干扰:
rm -rf node_modules yarn.lock package-lock.json ios/Pods ios/Podfile.lock android/app/build yarn install cd ios && pod install && cd .. - 如果暂时没法升级到v6版本react-navigation,不要用link命令,直接对照当前所用react-navigation版本的原生配置文档,手动把需要的配置项、原生依赖引用加到iOS、Android工程目录即可。
注意:React Native 0.69是首个默认集成React 18的稳定版本,升级前要确认所有用到的原生依赖都发布了适配0.69的版本,否则容易出现编译失败、运行时闪退等问题。
内容的提问来源于stack exchange,提问作者user18628737
相关产品推荐
相关产品推荐

