Expo构建Android APK报错:指定目录下不存在package.json
构建Expo Android APK时遇到
package.json does not exist错误 执行eas build --platform android命令构建Expo项目APK时,持续触发错误:
package.json does not exist in /home/expo/workingdir/build/client
项目相关配置
eas.json
{ "cli": { "version": ">= 3.13.2" }, "build": { "preview": { "android": { "buildType": "apk" } }, "preview2": { "android": { "gradleCommand": ":app:assembleRelease" } }, "preview3": { "developmentClient": true }, "production": {} } }
.gitignore
.expo/ %ProgramData%/ node_modules/ babel.config.json package-lock.json
解决方案
- 指定构建工作目录:如果你的项目是monorepo结构,
package.json位于client子目录下,需要在eas.json的对应构建配置中添加workingDirectory字段,明确指向包含package.json的目录:"build": { "preview": { "android": { "buildType": "apk" }, "workingDirectory": "./client" } } - 确认Git提交状态:EAS Build仅会同步Git仓库中已追踪的文件,检查本地
package.json是否已被添加并提交到仓库,未提交的文件不会出现在构建服务器中。 - 确保在正确目录执行构建:本地运行
eas build命令时,必须切换到包含package.json的项目根目录,避免因上下文目录错误导致构建失败。 - 清理构建缓存:执行
eas build --clean命令重新发起构建,清除之前的缓存数据,排除旧构建上下文残留的问题。
内容的提问来源于stack exchange,提问作者Yash Sharma
相关产品推荐
相关产品推荐

