Expo EAS构建Android生产应用报错:无法找到@expo/config-plugins模块
Expo EAS构建Android生产包报错:Cannot find module 'expo/config-plugins'
问题详情
使用Expo SDK 49执行命令 eas build -p android --profile production 构建Android生产应用时失败,报错提示找不到模块 expo/config-plugins。package.json已配置 "@expo/config-plugins": "~7.2.2",完整报错栈如下:
Build failed
Cannot find module 'expo/config-plugins'
Require stack:
- /home/expo/workingdir/build/node_modules/expo-build-properties/build/android.js
- /home/expo/workingdir/build/node_modules/expo-build-properties/build/withBuildProperties.js
- /home/expo/workingdir/build/node_modules/expo-build-properties/app.plugin.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/utils/plugin-resolver.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/plugins/withStaticPlugin.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/plugins/withPlugins.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/index.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/android/expoUpdates.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/utils/expoUpdates.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/builders/android.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/builders/index.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/index.js
- /usr/local/eas-build-worker/src/services/worker/dist/service.js
- /usr/local/eas-build-worker/src/services/worker/dist/ws.js
- /usr/local/eas-build-worker/src/services/worker/dist/main.js
已尝试切换Node.js 16、18版本,升级expo-cli,问题仍未解决。
解决方案
1. 对齐expo-build-properties版本
SDK 49要求expo-build-properties与@expo/config-plugins版本兼容:
- 执行
npm list expo-build-properties查看当前版本 - 安装SDK 49适配的稳定版本:
npm install expo-build-properties@^0.8.3
2. 清理依赖并重新安装
依赖缓存或版本冲突可能导致导入路径错误:
- 删除本地依赖和锁文件:
rm -rf node_modules package-lock.json yarn.lock - 重新安装依赖:
npm install或yarn install
3. 强制统一@expo/config-plugins版本
在package.json中添加resolutions字段,强制所有依赖使用指定版本:
{ "resolutions": { "@expo/config-plugins": "~7.2.2" } }
添加后重新执行依赖安装命令。
4. 清除EAS远程构建缓存
构建时添加清除缓存参数,避免远程缓存的旧依赖影响:eas build -p android --profile production --clear-cache
5. 检查eas.json配置
确认eas.json中production配置项是否引用了自定义插件,排查是否存在模块路径错误。
内容的提问来源于stack exchange,提问作者Rajat Bhardwaj
相关产品推荐
相关产品推荐

