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

Expo React Native SDK46.0加载报错:无法解析SafeAreaProviderCompat

解决"Unable to resolve './SafeAreaProviderCompat'"错误的步骤

这个错误大多是@react-navigation包版本不兼容或依赖缺失导致的,结合Expo SDK 46.0的环境,按以下步骤排查:

1. 统一@react-navigation相关包版本

Expo SDK 46.0适配的React Navigation稳定版本是6.x系列,必须保证所有@react-navigation子包(bottom-tabs、native、stack等)版本一致,否则容易出现依赖冲突。

  • 先查看当前各包版本:
npm list @react-navigation/bottom-tabs @react-navigation/native @react-navigation/stack
  • 安装SDK46适配的指定版本:
npm install @react-navigation/bottom-tabs@6.3.2 @react-navigation/native@6.0.11 @react-navigation/stack@6.2.3
# 用yarn的话执行:
yarn add @react-navigation/bottom-tabs@6.3.2 @react-navigation/native@6.0.11 @react-navigation/stack@6.2.3

2. 清除缓存重启项目

缓存异常可能导致Metro无法正确解析文件,执行以下操作:

  • 关闭当前运行的Metro服务器
  • 清除Expo缓存并重启:
expo r -c

3. 检查并安装react-native-safe-area-context

SafeAreaProviderCompat依赖react-native-safe-area-context,SDK46对应的兼容版本是4.3.1,确认已安装:

npm install react-native-safe-area-context@4.3.1
# yarn用户:
yarn add react-native-safe-area-context@4.3.1

4. 重装node_modules

如果以上方法都无效,彻底清理依赖后重新安装:

rm -rf node_modules package-lock.json yarn.lock
npm install
# 或者yarn install

内容的提问来源于stack exchange,提问作者David Guri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 08:06:23