Expo SDK 49项目构建遇wrap-ansi依赖错误及Play Store适配求助
解决方案:Expo SDK49迁移后Play Store API级别错误与wrap-ansi ESM兼容性问题
一、Play Store「必须针对Android 13(API级别33)或更高版本」问题解决步骤
确认EAS Build配置(若使用EAS)
如果通过EAS构建,需确保eas.json中android配置明确指定API级别,避免覆盖app.json的设置:{ "build": { "production": { "android": { "buildToolsVersion": "33.0.0", "compileSdkVersion": 33, "targetSdkVersion": 33, "minSdkVersion": 33 } } } }清理本地构建缓存
执行以下命令彻底清理预构建缓存并重新生成Android项目文件:npx expo prebuild --clean之后重新构建发布包:
npx expo run:android --variant release验证Android构建配置
打开android/app/build.gradle文件,确认以下字段值均为33:compileSdkVersion = 33 targetSdkVersion = 33 minSdkVersion = 33若存在第三方插件或依赖修改这些值,需排查并调整对应插件的配置。
二、wrap-ansi ESM模块兼容错误解决步骤
问题根源
你在package.json的resolutions中强制指定了wrap-ansi@8.1.0,但该版本为纯ES模块(ESM),而@expo/cli的CommonJS代码无法通过require()导入ESM模块,导致报错。
修复方案
修改依赖解析规则
将package.json中的resolutions字段修改为使用兼容CommonJS的wrap-ansi-cjs:"resolutions": { "@expo/config-plugins": "~7.2.2", "@expo/prebuild-config": "~6.2.4", "wrap-ansi": "npm:wrap-ansi-cjs@^7.0.0" }重新安装依赖
删除本地依赖和锁文件后重新安装:rm -rf node_modules yarn.lock yarn install验证修复
运行npx expo-doctor确认依赖无问题,之后重新尝试构建:npx expo start # 或执行构建命令 npx expo run:android --variant release
内容的提问来源于stack exchange,提问作者smark182
相关产品推荐
相关产品推荐

