Expo 44.0.0 Android构建失败:Prebuild阶段报错求助
解决Expo 44.0.0 EAS构建Android应用Prebuild阶段失败问题
问题场景
使用Expo 44.0.0版本,执行命令eas build --profile production --platform android借助Expo账号构建Android应用时,Prebuild阶段失败,报错信息如下:
[stderr]
[21:33:34] Error downloading and extracting template package: Error: npm exited with non-zero code: 1
- Creating native project directories (./ios and ./android) and updating .gitignore
[stderr]
[21:33:34] ENOENT: no such file or directory, stat '/tmp/711fa9bbe006749d2a51950a7ec3922d/android'- Creating native project directories (./ios and ./android) and updating .gitignore
✖ Failed to create the native project.
[21:33:34] You may want to delete the./iosand/or./androiddirectories before trying again.
bash exited with non-zero code: 1
本地未生成android和ios文件夹,无法通过删除本地目录解决。
解决方案
清理Expo本地缓存
执行命令清理缓存,避免缓存中损坏的模板文件影响构建:expo start --clear清理完成后重新执行构建命令。
切换到官方npm源
第三方npm源可能存在下载不稳定的情况,导致模板包下载失败。执行以下命令切换到官方源:npm config set registry https://registry.npmjs.org/若使用yarn,执行:
yarn config set registry https://registry.npmjs.org/升级EAS CLI至兼容版本
旧版本EAS CLI与Expo 44.0.0可能存在兼容性问题,执行命令升级:npm install -g eas-cli手动指定匹配的模板依赖
在项目的package.json中添加与Expo 44.0.0匹配的裸项目模板依赖:"devDependencies": { "@expo/template-bare-minimum": "44.0.0" }执行
npm install安装依赖后,重新触发构建。检查项目配置完整性
确认app.json或app.config.js中expo.android配置字段完整,例如必须包含package(应用包名):"expo": { "android": { "package": "com.yourcompany.yourapp" } }
内容的提问来源于stack exchange,提问作者r_batra
相关产品推荐
相关产品推荐

