移除Expo的React Native项目运行报错:找不到LogReporter模块
解决移除Expo后
yarn android报错“Cannot find module expo/tools/LogReporter”的方案 嗨,这问题我熟!移除Expo后出现这个报错,本质是项目里还残留着Expo相关的引用或者配置没清干净,咱们一步步来搞定:
1. 彻底清理Expo相关依赖
先打开你的package.json,不光看dependencies,还要检查devDependencies,把所有带expo前缀的包(比如expo、expo-cli、expo-xxx之类的)全部删掉。然后在项目根目录执行:
yarn install
确保依赖完全更新。
2. 检查并清理Android原生配置
进入android目录,重点检查这几个文件:
- settings.gradle:看看有没有类似
include ':expo'、project(':expo').projectDir = new File(.../expo/android)的代码,直接删掉。 - app/build.gradle:查找有没有引用Expo的依赖、插件或者classpath,比如
implementation project(':expo')、apply plugin: 'expo'这类,全部移除。 - AndroidManifest.xml:如果里面有Expo相关的权限、activity配置(比如
ExpoActivity),也一并删除。
3. 排查代码中的Expo引用
在整个项目里全局搜索expo/tools/LogReporter或者expo/相关的导入语句,比如可能在index.js、自定义的配置文件或者一些工具类里还留着import { LogReporter } from 'expo/tools/LogReporter'这类代码,找到后直接删掉,或者替换成React Native原生的日志方法(比如console.log)。
4. 清理缓存重新构建
最后一步是清理各种缓存,避免残留:
- 清理yarn缓存:
yarn cache clean
- 清理Android构建缓存(进入android目录执行):
./gradlew clean
- 重置Metro缓存:
npx react-native start --reset-cache
做完这些后,回到项目根目录重新执行:
yarn android
如果还是有问题,再检查下是不是还有其他隐藏的Expo配置文件(比如.expo文件夹),直接删掉就行。
内容的提问来源于stack exchange,提问作者cal4
相关产品推荐
相关产品推荐

