如何解决expo-modules-core重复安装及iOS模拟器模块找不到问题?
解决expo-modules-core重复安装及架构不匹配问题
核心原因
expo@47.0.14 本身依赖 expo-modules-core@1.1.1,你手动安装的 expo-modules-core@1.2.6 属于顶层依赖,和expo的内置依赖版本冲突,导致npm在安装时同时保留两个版本,进而引发iOS模拟器架构不匹配的错误。
彻底解决步骤
1. 彻底清理依赖残留
执行以下命令清除所有现有依赖文件、锁文件及缓存:
rm -rf node_modules rm package-lock.json rm yarn.lock # 若使用yarn则执行此命令 npm cache clean --force
2. 移除顶层的expo-modules-core依赖
打开你的package.json文件,找到并删除dependencies或devDependencies中单独列出的expo-modules-core条目——不需要手动指定该依赖,expo会自动安装它所需的匹配版本。
3. 重新安装依赖
直接执行标准安装命令,让npm根据expo的依赖声明自动处理版本:
npm install
4. 验证安装结果
执行以下命令确认仅存在一个版本的expo-modules-core:
npm list expo-modules-core
正常输出应为:
└─┬ expo@47.0.14 └── expo-modules-core@1.1.1
5. 修复iOS模拟器架构问题(可选)
如果架构错误仍存在,清理iOS构建缓存后重试:
npx pod-install --clean
之后重启模拟器并重新运行项目。
内容的提问来源于stack exchange,提问作者David Pears
相关产品推荐
相关产品推荐

