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

React Native模拟器启动报错:EventEmitter.js语法错误排查求助

错误原因及修复方案

错误原因分析

这个错误指向react-native核心库的EventEmitter.js文件语法解析失败,大概率是以下几个原因:

  1. 依赖版本不兼容:React Native 0.76.6对TypeScript、Babel等工具链有特定版本要求,你使用的TypeScript 5.7.2版本过高,超出了RN 0.76的兼容范围,导致语法解析逻辑冲突。
  2. Babel配置冗余/顺序错误:metro-react-native-babel-preset已经内置了TypeScript处理能力,额外添加@babel/preset-typescript可能引发解析规则冲突。
  3. 依赖包损坏或缓存残留:即使执行过清缓存操作,仍可能存在未清理干净的metro缓存或损坏的node_modules文件。

修复步骤

1. 降级TypeScript到兼容版本

React Native 0.76.6官方推荐TypeScript版本为~5.3.3,执行以下命令降级:

npm install typescript@~5.3.3 --save-dev

2. 调整Babel配置

移除冗余的@babel/preset-typescript,修改babel.config.js为:

module.exports = {
  presets: [
    'module:metro-react-native-babel-preset',
  ],
  plugins: [
    'react-native-reanimated/plugin',
  ],
};

3. 彻底清理所有缓存

执行以下命令清理metro、npm及项目缓存:

npx react-native start --reset-cache
npm cache clean --force

4. 重新安装依赖

删除现有依赖文件后重新安装:

rm -rf node_modules package-lock.json
npm install

5. 验证并重启项目

启动模拟器后重新运行项目:

npx react-native run-ios # 针对iOS模拟器
# 或
npx react-native run-android # 针对Android模拟器

额外排查项

如果上述步骤无效,手动检查node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js第39行的代码,确认是否存在语法错误(比如未闭合的括号)。若文件损坏,重新安装React Native核心包:

npm uninstall react-native
npm install react-native@0.76.6

内容的提问来源于stack exchange,提问作者Hasan Gunduz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:02:07