Expo加载失败(React-Native):SDK版本显示null,升级后仍报错
我之前也碰到过完全一样的状况,升级SDK后还是提示SDK版本为null,折腾了好几个办法才解决,给你分享几个有效的排查方向:
检查项目配置文件的SDK版本
打开项目根目录的app.json或者app.config.js,确认里面的sdkVersion字段是否正确设置为"20.0.0"(或者你升级到的更高版本)。我当时就是升级过程中这个字段被意外重置成了null,手动改回对应版本后就解决了大半问题。如果是用app.config.js的动态配置,要确保导出的对象里sdkVersion没有被错误覆盖。确认Expo CLI版本兼容性
本地的Expo CLI版本可能和SDK版本不匹配,执行以下命令检查当前CLI版本:expo --version如果版本过低,升级全局Expo CLI:
npm install -g expo-cli # 或者用yarn yarn global add expo-cli清除Expo客户端的缓存
模拟器里的Expo Client可能缓存了旧的项目配置。打开模拟器中的Expo Client,找到你的项目,长按选择「Remove from Recents」,然后重启模拟器,再重新加载项目。验证package.json中的依赖版本
打开package.json,检查dependencies里的expo版本是否为^20.0.0或更高。如果显示的还是旧版本,手动修改后执行yarn install或npm install重新安装。也可以用以下命令查看实际安装的版本:yarn list expo # 或者 npm list expo清除Expo打包缓存后启动
试试用expo start --clear命令启动项目,这个命令会清除Expo的打包缓存,比普通的yarn cache clean更针对Expo的构建缓存,很多时候能解决配置不生效的问题。
如果以上方法都试过还是不行,可以尝试创建一个全新的Expo SDK 20项目,把旧项目的代码和资源逐步迁移过去,排查是不是项目里有隐藏的配置文件损坏导致的问题。
内容的提问来源于stack exchange,提问作者cameck

