Expo EAS本地构建报找不到@expo/config-plugins模块如何解决
排查解决步骤
这个报错是eas-cli 0.53.0版本依赖逻辑调整导致的,和你写的构建配置没有关系,按以下顺序操作即可:
- 先确认缺失依赖的原因
0.52.0版本的eas-cli会自带@expo/config-plugins依赖供本地构建流程调用,0.53.0及之后版本做了依赖拆分,本地构建时不再从eas-cli全局安装目录读取该依赖,会优先从当前项目的本地node_modules中查找,项目里没装这个包就会抛出找不到模块的错误。 - 安装缺失的项目本地依赖
不要全局安装@expo/config-plugins,必须安装到项目的开发依赖中,根据你用的包管理器执行对应命令:- npm:
npm install @expo/config-plugins --save-dev - yarn:
yarn add @expo/config-plugins -D - pnpm:
pnpm add @expo/config-plugins -D
安装完成后先清理旧构建缓存:删除项目根目录下的.eas临时文件夹,再删除android目录下的.gradle缓存目录,之后重新执行你原来的构建命令即可。
- npm:
- 安装依赖后仍报错的处理方案
- 检查eas-cli的安装方式:如果是全局安装的高版本eas-cli,先执行
npm uninstall -g eas-cli卸载全局版本,再把eas-cli装到项目本地开发依赖:npm install eas-cli@latest --save-dev,后续构建用npx eas build --profile preview --platform android --local调用,避免全局依赖和项目依赖版本冲突。 - 如果你用的是pnpm、Yarn Berry这类默认有严格依赖提升规则的包管理器,先删除整个node_modules文件夹和锁文件(package-lock.json/yarn.lock/pnpm-lock.yaml),重新执行install全量重装依赖,排除依赖提升失败导致模块找不到的问题。
- 核对
@expo/config-plugins的版本和你当前项目的Expo SDK版本匹配:Expo SDK 49对应@expo/config-plugins@~7.2,SDK 50对应~7.8,SDK 51对应~8.0,版本跨度过大也会出现加载异常,安装对应大版本的包即可。
- 检查eas-cli的安装方式:如果是全局安装的高版本eas-cli,先执行
快速校验方法:操作前可以先切回0.52.0版本确认构建正常,操作完成后切到最新版eas-cli验证构建通过,就能确认问题修复。
内容的提问来源于stack exchange,提问作者Tiago Peixoto
相关产品推荐
相关产品推荐

