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

全新Expo项目引入RNUI后try代码块内抛模块缺失错误如何解决?

问题原因
  1. 关于nodeModulesPath字段报错:该配置项在Expo SDK 46及以上版本已被废弃,新版Expo的配置校验规则会直接拦截无效字段,导致构建失败。
  2. 关于try catch包裹的代码仍抛出依赖找不到错误:React Native使用的Metro打包器会在构建阶段提前完成所有依赖的静态解析,不会等到代码运行到对应行才加载模块。因此代码还没执行到运行时的try catch逻辑,构建阶段就已经因为找不到依赖抛出错误。旧版本Expo可以正常运行是因为旧版Metro的依赖解析规则更宽松,或是你使用的旧版RNUI本身已经完成了可选依赖的构建适配。
解决方法

修复app.json校验报错

  • 打开项目根目录的app.json文件,直接删除nodeModulesPath对应的配置行即可,该字段已无实际作用。

修复react-native-haptic-feedback依赖找不到报错

可根据你的使用需求二选一:

方案一(无需安装额外依赖,不需要使用RNUI震动反馈功能时推荐)

  • 在项目根目录新建或编辑metro.config.js,添加如下配置,让Metro忽略该依赖的解析:
const { getDefaultConfig } = require('expo/metro-config');

const config = getDefaultConfig(__dirname);
config.resolver.blockList = [/react-native-haptic-feedback/];

module.exports = config;
  • 配置完成后执行npx expo start --clear清除缓存重启开发服务即可。

方案二(安装对应依赖,需要使用RNUI震动反馈功能时选择)

  • 执行命令安装对应的可选依赖:
    npx expo install react-native-haptic-feedback
  • 安装完成后重启开发服务即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:09:04