EAS本地构建iOS失败:已安装CocoaPods 1.15.2但仍提示找不到对应版本
EAS本地构建iOS失败:已安装CocoaPods 1.15.2但仍提示找不到对应版本
我完全能理解你折腾一天的崩溃感——明明本地跑npx expo run:ios毫无问题,EAS本地构建却死磕CocoaPods版本报错,太闹心了。下面几个我自己踩过坑后验证有效的方案,你可以挨个试试:
方案1:强制EAS跳过Bundler,直接用本地CocoaPods
EAS本地构建默认会优先读取项目Gemfile里的依赖配置,就算你本地装对了版本,它也可能硬要通过Bundler去拉。我们可以在eas.json里直接禁用这个行为:
打开项目根目录的eas.json,给你的development构建配置加上iOS专属设置:{ "build": { "development": { "ios": { "useBundler": false } } } }保存后重新执行构建命令:
eas build --platform ios --profile development --local方案2:同步Gemfile与本地CocoaPods版本
如果项目里存在Gemfile和Gemfile.lock,里面锁定的CocoaPods版本可能和你本地的1.15.2不匹配,导致Bundler拉错版本。执行以下命令同步:# 配置bundler依赖存放在项目本地 bundle config set path 'vendor/bundle' # 指定安装1.15.2版本的cocoapods bundle add cocoapods -v 1.15.2 # 安装依赖 bundle install同步完成后再重新运行EAS构建。
方案3:清理EAS本地构建缓存
EAS本地构建会缓存部分环境依赖,缓存里的旧版本残留可能导致版本冲突。执行命令清空缓存:eas build:cache clear缓存清理完成后,再重新启动构建流程。
方案4:手动指定CocoaPods路径给EAS
有时候EAS会找不到你本地安装的CocoaPods,我们可以直接把路径喂给它:- 先查询本地CocoaPods的安装路径:
你会得到类似which pod/usr/local/bin/pod的输出 - 把路径作为环境变量传入构建命令:
注意把上面的路径替换成你自己查询到的结果。POD_PATH=/usr/local/bin/pod eas build --platform ios --profile development --local
- 先查询本地CocoaPods的安装路径:
如果上面的方案都没解决,你可以试试删除iOS目录下的Podfile.lock和Pods文件夹,手动跑一次pod install,再重新执行EAS构建。
内容来源于stack exchange
相关产品推荐
相关产品推荐

