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

Expo React Native从Expo Go迁移到Dev Build时的依赖报错问题求助

Expo React Native从Expo Go迁移到Dev Build时的依赖报错问题求助

问题描述

我正尝试把我的Expo应用从Expo Go迁移到Expo Dev Build。一开始构建开发客户端时,遇到了错误:

(NOBRIDGE) ERROR Warning: Error: [@RNC/AsyncStorage]: NativeModule: AsyncStorage is null

折腾了一堆办法都没修好,我以为是AsyncStorage本身的问题,就把所有相关代码都删掉,换成了Expo SecureStore,结果还是不行,现在依然遇到类似的NativeModule为空的错误。

排查与解决建议

我之前迁移的时候也踩过类似的坑,给你几个实际可行的排查方向:

  • 确认依赖版本匹配并重新安装
    不管是@react-native-async-storage/async-storage还是expo-secure-store,首先得确保它们的版本和你当前的Expo SDK版本兼容。先执行这条命令重新安装依赖,让Expo自动匹配合适的版本:

    npx expo install @react-native-async-storage/async-storage expo-secure-store
    
  • 彻底清缓存,重新构建客户端
    缓存真的是这类问题的重灾区,按顺序执行下面的命令,把所有可能的缓存都清干净:

    # 清理prebuild生成的原生文件
    npx expo prebuild --clean
    # 删除node_modules并重装依赖
    rm -rf node_modules && npm install
    # 清除Expo的缓存并重启开发服务
    npx expo start --clear
    

    注意!一定要重新构建Dev Build客户端,旧的安装包不能再用了,必须装新构建的版本才能生效。

  • 检查配置文件有没有误改
    打开你的app.json或者app.config.js,看看有没有不小心删掉了必要的配置:

    • 比如expo.ios.infoPlist和expo.android.androidManifest里的权限,SecureStore需要的权限是Expo默认包含的,但如果手动修改过配置,可能不小心移除了;
    • 确认plugins数组里有没有漏掉相关插件(Expo官方库一般不需要手动加,但第三方库可能需要)。
  • 排查第三方依赖的兼容性
    有些老的第三方库可能不支持Expo Dev Build,你可以试试暂时注释掉最近新增的依赖代码,看看错误会不会消失。找到问题库后,要么升级到兼容Dev Build的版本,要么换成Expo官方支持的替代库。

  • 确保用正确的命令构建和启动
    构建Dev Build的时候,别用Expo Go的启动命令,一定要用对应的run命令:

    # iOS Debug构建
    npx expo run:ios --configuration Debug
    # Android Debug构建
    npx expo run:android --mode debug
    

备注:内容来源于stack exchange,提问作者eschev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 17:44:33