Expo/EAS Build报错:expo-configure-project.sh文件不存在
expo-configure-project.sh不存在的问题 问题分析
你遇到的核心问题是:EAS构建阶段执行脚本时找不到./Pods/Target Support Files/Pods-common-APP_NAME/expo-configure-project.sh,本地pod install也无法生成该文件,但npx expo prebuild可以生成——但因为iOS原生目录已存在,EAS默认不会自动执行预构建命令,导致构建失败。重装macOS后环境变化触发了这个问题,本质是原生项目配置文件与Expo SDK的同步缺失。
可行解决方案
提交预构建生成的必要文件到Git仓库
本地执行npx expo prebuild(即使iOS目录已存在,该命令会更新Expo相关的原生配置文件,包括生成缺失的expo-configure-project.sh),然后将生成的相关脚本文件(包括Pods Target Support Files下的对应文件)提交到Git。EAS构建时会拉取这些文件,配合构建时的pod install完成配置。在EAS构建配置中强制执行预构建步骤
修改项目根目录的eas.json,在对应构建环境的配置里添加preBuildCommand,让EAS在构建前自动执行预构建:{ "build": { "production": { "preBuildCommand": "npx expo prebuild --no-install", // 其他现有配置... }, "preview": { "preBuildCommand": "npx expo prebuild --no-install", // 其他现有配置... } } }--no-install参数会跳过自动执行pod install,避免覆盖EAS构建时的Pod安装流程。核对本地环境版本兼容性
重装macOS后,确认以下工具版本与项目依赖的Expo SDK版本匹配:- Expo CLI:执行
expo --version,确保版本对应SDK要求 - CocoaPods:执行
pod --version,推荐使用Expo文档指定的版本 - Xcode:确保版本支持当前SDK的最低要求
- Expo CLI:执行
检查Podfile中的脚本引用
打开iOS目录下的Podfile,查找是否有引用expo-configure-project.sh的配置段。如果存在硬编码的路径引用,确认路径与预构建生成的文件路径一致,避免因路径错误导致找不到文件。
内容的提问来源于stack exchange,提问作者zelr

