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

如何修复React-Native中global.BlobBuilder报错问题?

报错原因&解决办法

我帮你梳理下这两个报错的来龙去脉——你遇到的 BlobBuilder 和 RCTEventEmitter 报错,核心问题是React Native 0.55.4 和 babel-preset-react-native 4.0.0 版本不兼容。新版本的babel预设转译规则和旧版RN的内部模块结构不匹配,再加上缓存堆积,就触发了这些模块引用错误。

下面是亲测有效的解决步骤:

1. 降级babel-preset-react-native到兼容版本

RN 0.55.x 系列和 babel-preset-react-native 3.x 版本适配性最好,先把预设版本降下来:

# npm版本
npm uninstall babel-preset-react-native
npm install babel-preset-react-native@3.0.2 --save-dev

# yarn版本
yarn remove babel-preset-react-native
yarn add babel-preset-react-native@3.0.2 --dev

2. 彻底清理缓存(关键步骤)

缓存堆积是这类奇怪报错的重灾区,一定要清干净:

# 清除metro打包缓存
rm -rf $TMPDIR/metro-*
rm -rf $TMPDIR/haste-*

# 删除依赖和锁文件,重新安装
rm -rf node_modules package-lock.json yarn.lock
npm install # 用yarn的话就执行 yarn install

# 如果是iOS项目,清理pod缓存
cd ios && pod deintegrate && pod install && cd ..

# 重启metro服务并重置缓存
npx react-native start --reset-cache

3. 检查Babel配置(确保没出错)

打开项目根目录的 .babelrc 文件,确认内容是最基础的配置:

{
  "presets": ["react-native"]
}

4. 验证修复

完成上面所有步骤后,重启你的Mac(确保所有残留进程都被彻底清理),然后重新运行项目:

npx react-native run-ios # Android项目就用 run-android

额外提一句:你的react@16.3.2和RN0.55.4版本是匹配的,这个不用动,主要问题就是babel预设版本不兼容+缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:38:43