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

升级至Expo SDK 49后,通过EAS Update分发的托管应用启动时崩溃求助

升级至Expo SDK 49后,通过EAS Update分发的托管应用启动时崩溃求助

我最近把托管的Expo应用升级到了SDK 49,本地运行一切正常,但通过EAS Update推送到Expo Go后,应用一启动就崩溃。已经折腾3天还是找不到解决办法,真心求大家帮忙!

我的环境信息:

eas-cli/3.17.1 darwin-arm64 node-v18.17.0

捕获到的错误日志

我用XCode的Console app抓取了崩溃时的日志,主要有三条:

Expo Go RangeError: Maximum call stack size exceeded (native stack depth), js engine: hermes

2. ```
Expo Go Invariant Violation: "main" has not been registered. This can happen if:
Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
A module failed to load due to an error and AppRegistry.registerComponent wasn't called., js engine: hermes

Expo Go NSInvalidArgumentException: -[EXReactAppExceptionHandler handleFatalJSExceptionWithMessage:stack:exceptionId:extraDataAsJSON:]: unrecognized selector sent to instance 0x281fa8380

查资料后我意识到第一条`RangeError`应该是根源,后面两条都是它引发的连锁问题,大概率是某个依赖在更新后出问题了。

## 已尝试的排查步骤
- **怀疑react-native-reanimated**:因为看到相关的讨论,我尝试降级到之前用的2.14.4版本,但本地运行直接崩溃,报错:

TypeError: _ReanimatedModule.default.createNode is not a function (it is undefined), js engine: hermes

同样跟着出现了"main"未注册的错误。
- **预构建后用XCode运行**:执行`npx expo prebuild -p ios`后用XCode启动,一开始正常,但几次运行后突然崩溃,报错:

ReanimatedError: Maximum call stack size exceeded (native stack depth). , js engine: reanimated

- **切换JS引擎到JSC**:结果只得到了更没用的日志,完全找不到排查方向。
- **尝试修复后验证**:我以为两次找到了解决办法,但第二天推新的EAS Update后又崩溃了,完全没有一致性,心态真的崩了...

## 补充说明
从可正常运行的版本到崩溃版本,我只修改了package.json里的依赖(就是升级SDK 49时的依赖变更),没有改动任何业务代码。

真心希望有大佬能指点一下,我现在实在没头绪了😭

备注:内容来源于stack exchange,提问作者Sagi8767
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:55:27