Expo升级SDK后报错:Cannot read property 'getConstants' of null求助
解决Expo SDK 48升级后"Cannot read property 'getConstants' of null"错误
可能原因
这个错误通常是第三方原生模块未正确初始化,或是依赖版本与Expo SDK 48不兼容导致的,常见于使用权限、设备相关类需要原生配置的库。
修复步骤
- 排查依赖兼容性
逐个检查package.json中的第三方库,确保它们支持Expo SDK 48。运行npx expo doctor,工具会自动检测不兼容依赖并给出修复建议,按提示完成依赖升级或降级。 - 清理缓存
执行npx expo start --clear清除项目及Metro缓存;再运行yarn cache clean清理Yarn缓存,之后重新执行yarn install。 - 检查模块初始化逻辑
确认app.json或app.config.js中的插件配置是否符合SDK 48要求,无遗漏项。排查代码中是否存在模块未完成初始化就调用getConstants的情况,可通过useEffect延迟调用,或检查模块导入是否正确。 - 重新生成原生文件(若涉及预构建)
若之前执行过eject或预构建操作,运行npx expo prebuild --clean(执行前备份本地原生目录),之后再启动项目。 - 最小化项目测试
创建新的Expo SDK 48项目,逐步迁移代码与依赖,每次添加一个依赖后启动测试,定位到引发错误的具体库再针对性修复。
内容的提问来源于stack exchange,提问作者최선아
相关产品推荐
相关产品推荐

