升级Expo SDK 49后Android构建失败:@expo/config-plugins版本冲突求助
Expo SDK 49升级后Android构建失败:@expo/config-plugins版本冲突解决
问题背景
升级Expo SDK到49后,Android构建失败,提示@expo/config-plugins版本不匹配:
Expected package @expo/config-plugins@~7.2.2 Found invalid: @expo/config-plugins@5.0.4 @expo/config-plugins@5.0.4 @expo/config-plugins@5.0.4 @expo/config-plugins@5.0.4 @expo/config-plugins@5.0.4
通过npm why @expo/config-plugins确认,expo、expo-updates、@expo/cli等依赖的子依赖仍在使用5.0.4版本,与根项目指定的7.2.2冲突。
解决步骤
1. 强制统一依赖版本(npm用户)
在package.json中添加overrides字段,强制所有依赖使用指定版本:
"overrides": { "@expo/config-plugins": "~7.2.2" }
执行以下命令重新安装依赖:
npm install
2. 强制统一依赖版本(yarn用户)
在package.json中添加resolutions字段:
"resolutions": { "@expo/config-plugins": "~7.2.2" }
执行:
yarn install
3. 清除缓存并重装依赖
如果上面的方法没生效,先清理旧依赖:
# npm用户 rm -rf node_modules package-lock.json npm install # yarn用户 rm -rf node_modules yarn.lock yarn install
4. 校验核心依赖版本
确保expo、expo-updates等核心依赖与SDK 49版本匹配,比如:
"expo": "~49.0.0", "expo-updates": "~0.18.17"
版本不匹配会导致子依赖拉取错误版本,可参考Expo SDK 49官方依赖清单调整。
验证修复
执行以下命令确认版本已统一:
npm ls @expo/config-plugins
输出中所有@expo/config-plugins都应显示为7.2.2版本,无5.0.4实例。
之后重新尝试Android构建:
eas build --platform android # 或本地预构建 expo prebuild --platform android
内容的提问来源于stack exchange,提问作者Aldor
相关产品推荐
相关产品推荐

