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

React Native项目中无法解析EventEmitter模块的问题求助

解决React Native中@react-native-firebase/app的EventEmitter模块找不到问题

错误信息

ERROR in ./node_modules/@react-native-firebase/app/lib/internal/SharedEventEmitter.js:18
Module not found: Can't resolve '/react-native/Libraries/vendor/emitter/EventEmitter'

已尝试的排查步骤

  • 确认React Native与@react-native-firebase/app版本匹配
  • 清除npm缓存并重建项目
  • 正确导入并初始化Firebase

可行解决方案

1. 核对版本适配细节

部分@react-native-firebase版本对React Native的小版本有严格依赖,比如RN 0.70+后EventEmitter的内部路径有变更。可:

  • 核对@react-native-firebase官方给出的版本对应表,调整@react-native-firebase/app版本至RN兼容版
  • 执行npm list react-native确认本地RN包是否安装完整、版本无异常

2. 配置模块路径别名

如果是打包工具的路径解析问题,可在项目打包配置中添加别名映射:

针对Metro(RN默认打包工具)

修改metro.config.js:

const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');

const customConfig = {
  resolver: {
    alias: {
      '/react-native/Libraries/vendor/emitter/EventEmitter': 'react-native/Libraries/vendor/emitter/EventEmitter',
    },
  },
};

module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);

保存后重启Metro服务,重新构建项目

3. 彻底清理并重装依赖

执行以下命令做深度清理:

# 删除依赖包与锁文件
rm -rf node_modules package-lock.json yarn.lock
# 清空npm缓存
npm cache clean --force
# 重新安装依赖
npm install
# 重置Metro缓存并启动服务
npx react-native start --reset-cache
# 重新构建平台项目
npx react-native run-android # 或针对iOS执行 npx react-native run-ios

4. 排查第三方库冲突

检查近期新增的依赖包,尝试临时移除后重新构建,逐步定位是否有其他库修改了RN的模块解析路径,导致EventEmitter无法被正确找到

内容的提问来源于stack exchange,提问作者Mohd Fayizk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:47:37