iOS EAS Build Fails: Ruby/ActiveSupport version mismatch causes "undefined method 'deprecator'" during Pod install
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 236
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 91
Description
### Build/Submit details page URL
_No response_
### Summary
iOS builds on EAS cloud runners fail consistently during the “Install Pods” step due to a mismatch between Ruby and the ActiveSupport gem. It throws a “NoMethodError” before any app code runs. This appears to be a misconfiguration in the Expo macOS builder environment.
I'm reporting an issue where iOS builds fail on EAS due to a version mismatch between Ruby and a library (ActiveSupport) that's being used in Expo's cloud build environment. This issue happens before my project is even built — during the CocoaPods install step.
### Managed or bare?
Managed (prebuild used, no custom native code). relying on Expo’s managed workflow for updates, config, and build logic
### Environment
expo: 50.0.20
expo-modules-core: 2.0.6
expo-updates: 0.22.0
Firebase: using expo-firebase-core
eas-cli: latest (and tested on multiple versions)
node: 18.x
macOS: not used locally (cloud build only)
- EAS Platform: iOS
- Using EAS Build cloud runners (not building locally)
- Node: 18.x
- macOS not used locally — build fails on Expo's macOS runners
- No custom native code outside of Expo/Firebase modules
- Project builds fine locally using npx expo prebuild --clean
### Error output
Expected behavior:
The build should install CocoaPods and complete successfully. This is expected with valid project configuration and compatible packages.
Actual output:
The build fails before Pod install completes with the following error:
undefined method `deprecator' for ActiveSupport:Module (NoMethodError)
Full trace:
/Users/expo/.gems/arm64/gems/activesupport-7.1.3.4/lib/active_support/core_ext/array/conversions.rb:108
...
/opt/homebrew/Cellar/ruby@2.7/2.7.8_1/lib/ruby/2.7.0/
Initialize an Expo project using SDK 50
Install expo-modules-core, expo-updates, and Firebase
Run:
eas build --platform ios --clear-cache
Observe failure during the “Installing CocoaPods dependencies” step
### Reproducible demo or steps to reproduce from a blank project
This can be reproduced in any Expo SDK 50 project using the stable Firebase and Updates modules. Build fails before app code is evaluated, so any blank `expo init` project with those modules will trigger it.
Sample failing build:
https://expo.dev/accounts/clubapp/projects/jeep-club-app/builds/81a652dc-c591-449a-8fb0-3170c2628753
1. Create a clean Expo SDK 50 project
2. Add `expo-modules-core`, `expo-updates`, and Firebase
3. Run `npx expo prebuild --clean`
4. Trigger a cloud build: `eas build --platform ios --clear-cache`
5. Observe build failure during Pod install
Contributor guide
Assessment
This issue has not been assessed yet.