EAS构建Expo裸工作流项目报expo-dev-launcher依赖缺失错误如何解决
问题原因
- CocoaPods本地/云端构建环境的源仓库未同步最新版本,没有收录对应版本的
expo-dev-launcher的podspec信息 - 项目中安装的
expo-dev-client版本与当前使用的Expo SDK主版本不匹配,导致依赖的expo-dev-launcher版本不存在有效podspec - 项目node_modules依赖未正确安装,
expo-dev-launcher包缺失,导致CocoaPods无法读取本地托管的podspec文件
修复方案
前置操作:升级CocoaPods(可选)
如果本地CocoaPods版本过旧,先执行升级命令:sudo gem install cocoapods
步骤1:重新安装node依赖
清理旧依赖缓存后重装,保证所有Expo相关依赖版本匹配:
rm -rf node_modules package-lock.json yarn.lock npm install # 使用yarn的环境可替换为 yarn install
步骤2:本地环境重装iOS依赖
进入项目ios目录执行以下命令,更新Pod源并重新安装所有依赖:
pod deintegrate rm -rf Pods Podfile.lock ~/Library/Caches/CocoaPods pod install --repo-update
本地执行完成后先尝试Xcode本地构建,确认无报错后再推送EAS构建。
步骤3:修复EAS云端构建报错
如果本地构建正常但EAS云端构建仍失败,在项目根目录的eas.json配置文件中,对对应构建配置添加禁用Pod缓存的规则,强制云端构建时更新Pod源:
{ "build": { "你使用的构建profile名称": { "ios": { "podsCacheDisabled": true } } } }
步骤4:校验依赖版本匹配
如果执行上述操作后仍报错,确认expo-dev-client版本与当前项目Expo SDK版本完全对应,不要跨版本安装。可执行官方安装命令自动匹配安装正确版本:npx expo install expo-dev-client
可选:RNFBAnalytics提示处理
如果你的应用为儿童类应用或者不需要广告ID相关分析能力,在ios目录的Podfile文件最顶部添加如下配置即可关闭带广告ID的分析服务:$RNFirebaseAnalyticsWithoutAdIdSupport=true
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

