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

Expo SDK升级后出现“main未在AppRegistry注册”错误求助

解决Expo SDK38升级后"main has not been registered AppRegistry"错误

我之前升级Expo SDK的时候也碰到过一模一样的问题,给你分享几个亲测有效的解决步骤:

  • 检查入口文件的AppRegistry注册代码
    确认你的项目入口文件(一般是App.js或index.js)里有正确的注册逻辑,SDK38对入口的规范性要求更高,别写错了:

    import { AppRegistry } from 'react-native';
    import App from './App';
    import { name as appName } from './app.json';
    
    AppRegistry.registerComponent(appName, () => App);
    

    另外要注意app.json里的name字段和注册时的appName是一致的,别出现拼写错误。

  • 彻底清理缓存(比expo r -c更彻底)
    有时候光用expo r -c清不干净,试试这套组合拳:

    1. 删除项目根目录下的.expo文件夹
    2. 运行npm cache clean --force(用yarn的话就跑yarn cache clean)
    3. 重新安装依赖:npm install或yarn install
    4. 最后再启动:expo start -c
  • 排查依赖版本冲突
    SDK升级后很容易出现第三方依赖不兼容的情况:

    • 先对照Expo SDK38的要求,把package.json里的react(16.11.0)和`react-native`(0.62.2)版本调整正确
    • 暂时移除一些可能有兼容性问题的第三方库(比如旧版的导航组件、原生模块),逐个排查是哪个库导致的注册失败
  • 升级Expo CLI到适配版本
    运行expo --version看看你的CLI版本,要是版本太旧,直接全局升级:npm install -g expo-cli,旧CLI和新SDK搭配很容易出奇怪的问题。

内容的提问来源于stack exchange,提问作者vincent O

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 10:48:11