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

Expo 43.0裸工作流项目中expo-modules-core配置无效警告问题求助

解决Expo 43裸工作流中expo-modules-core的Metro警告问题

成因分析

这个警告的核心是**expo-modules-core包的配置里,dependency.platforms.ios字段的类型不符合Metro的校验要求**——Metro期望它是一个对象,但实际它可能被错误设置成了字符串、null或者其他非对象类型。

结合你的场景,大概率是这几个原因:

  • 升级或集成expo-modules-core时,安装过程出了小问题,导致包自身的package.json配置损坏,或者项目package.json里自动生成的关联配置格式出错;
  • 你安装的expo-modules-core版本和Expo 43.0不兼容,不同版本的包配置结构有差异,导致Metro校验失败;
  • Metro缓存了旧的配置信息,哪怕你后来修复了配置,缓存还在读取错误的内容。

分步解决方案

1. 检查并修复配置格式

先打开项目根目录的package.json,看看有没有expo-modules-core相关的配置块,或者直接查看node_modules/expo-modules-core/package.json里的platforms字段。正常的配置应该是这样:

"platforms": {
  "ios": {},
  "android": {}
}

如果ios字段是"ios": "true"、"ios": null这类非对象格式,手动改成{}就行。

2. 安装和Expo 43匹配的版本

Expo 43对应的expo-modules-core稳定版本是~0.6.0,你可以重新安装这个匹配版本:

# npm用户
npm install expo-modules-core@~0.6.0 --save
# yarn用户
yarn add expo-modules-core@~0.6.0

3. 清除Metro缓存重启服务

缓存是这类问题的常客,执行下面的命令彻底清缓存后重启Metro:

npx react-native start --reset-cache

4. 同步iOS依赖(针对iOS端)

进入iOS目录重新执行pod安装,确保依赖配置完全同步:

cd ios
pod install --repo-update
cd ..

验证

做完这些步骤后,再启动react-native start,这个警告应该就消失了。如果还是存在,可以试试删除node_modules、package-lock.json(或yarn.lock),重新执行安装命令后再重复上面的步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 00:37:29