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

React Native安装expo模块报expo.modules does not exist错误

问题原因

该报错是install-expo-modules自动安装流程执行不完整导致的:自动脚本已经修改了Android目录下的MainApplication.java、MainActivity.java文件,添加了Expo模块生命周期、宿主包装类的相关导入和调用代码,但没有完成Android侧Gradle配置的修改,也没有正确拉取Expo核心模块依赖,最终编译时找不到expo.modules包下的对应类。
常见触发场景:

  • 执行自动安装命令时网络中断,导致依赖下载和配置写入中途失败
  • 当前项目的React Native版本和最新版expo-modules版本不兼容,自动脚本适配逻辑中断
  • 项目原生目录存在自定义修改,自动脚本无权限覆盖对应配置文件
修复方案

按以下顺序操作即可解决:

  • 先清理残留缓存:进入项目android目录,执行./gradlew clean清除旧的编译产物
  • 补装核心依赖:回到项目根目录,检查package.json是否存在expo依赖,缺失则执行npm install expo(使用yarn则执行yarn add expo),注意不要盲目安装最新版expo,版本需要和当前项目的React Native版本匹配,否则会出现额外的兼容问题
  • 补全android/settings.gradle配置:打开该文件,确认文件末尾存在如下Expo自动链接配置,缺失则手动补充:
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle");
useExpoModules()
  • 补全android/app/build.gradle配置:打开该文件,在插件引入区块补充Expo gradle插件引入:
// 在com.android.application插件引入行下方添加
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/gradle-plugin.gradle")
  • 补全android/build.gradle仓库配置:打开该文件,在allprojects -> repositories区块补充Expo依赖所需的maven源,确保编译时能拉取到Expo相关的安卓依赖包
  • 配置补全后回到项目根目录,重新执行npx install-expo-modules@latest,观察终端输出,确认所有配置步骤无报错、全部执行完成
  • 最后进入android目录执行./gradlew :app:dependencies,确认输出中存在expo-modules-core依赖,回到项目根目录重新执行npx react-native run-android即可正常编译安装

如果项目原生代码做过大量自定义修改,自动脚本反复执行失败,可以新建一个和当前项目React Native版本完全一致的空项目,在空项目中执行npx install-expo-modules@latest,将空项目android目录下的settings.gradle、根级build.gradle、app/build.gradle、MainApplication.java、MainActivity.java和当前项目的对应文件逐一对比,把缺失的Expo相关配置手动补全即可,该方法适配所有自定义原生项目,不会出现适配问题。

内容的提问来源于stack exchange,提问作者Bhavesh Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:48:20