Expo SDK47安卓构建失败求助:eas build提示需安装Expo CLI
Expo SDK 47 执行
eas build --platform android时要求安装expo-cli的解决办法 问题背景
使用Expo SDK 47构建安卓应用,执行eas build --platform android后,终端提示需要全局安装expo-cli,不想通过eject或prebuild操作(会引发Android Gradle新问题),寻求在托管工作流下的解决方法。
解决方法
1. 使用项目本地的expo-cli执行构建
- 先为项目安装本地expo-cli依赖:
npm install --save-dev expo-cli # 或使用yarn yarn add --dev expo-cli # 或pnpm pnpm add -D expo-cli - 接着用
npx调用本地依赖执行构建命令:npx expo-cli eas build --platform android - 更便捷的方式是在
package.json的scripts中添加命令:
之后直接执行{ "scripts": { "build:android": "eas build --platform android" } }npm run build:android即可,npm会自动优先使用项目本地的依赖环境。
2. 更新EAS CLI到兼容版本
旧版本的EAS CLI可能存在依赖检测逻辑问题,SDK 47建议搭配EAS CLI 3.0.0及以上版本,执行以下命令更新:
npm install -g eas-cli
更新完成后执行eas --version确认版本是否符合要求。
3. 配置环境变量优先使用本地依赖(可选)
将项目根目录下的node_modules/.bin路径添加到系统环境变量PATH中,这样直接执行eas build --platform android时,系统会优先找到项目本地的expo-cli,无需全局安装。
说明
eject或prebuild会将项目转为裸工作流,引入原生Android/iOS配置文件,确实容易触发Gradle版本不兼容、依赖冲突等问题。上述方法均在托管工作流下操作,无需修改项目原生结构,可避免这类额外问题。
内容的提问来源于stack exchange,提问作者user11202404
相关产品推荐
相关产品推荐

