Search code examples
firebasereact-nativeexpoeas

CocoaPods could not find compatible versions for pod "Firebase/CoreOnly" eas build -p ios


I think it has to do with expo-firebase-recaptcha, but uninstalling the plugin gave me the same error. I have no idea how to troubleshoot it, I've been working on it for about a week now. Here is the error from the eas-build window:

Using Expo modules
[Expo] Enabling modular headers for pod ExpoModulesCore
[Expo] Enabling modular headers for pod ReactCommon
Auto-generating `.xcode.env.local` with $NODE_BINARY=/Users/expo/.nvm/versions/node/v16.18.1/bin/node
Adding a custom script phase for Pod RNFBApp: [RNFB] Core Configuration
Auto-linking React Native modules for target `FitCheck`: RNCAsyncStorage, RNCMaskedView, RNFBApp, RNFastImage, RNGestureHandler, RNLocalize, RNSVG, RNScreens, RNTextGradientView, RNVectorIcons, VisionCamera, expo-image-multiple-picker, react-native-safe-area-context, react-native-video, and react-native-webview
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
Analyzing dependencies
Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`
[Codegen] Found FBReactNativeSpec
Fetching podspec for `RCT-Folly` from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`
Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec`
Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec`
Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`
CocoaPods 1.12.0 is available.
To update use: `gem install cocoapods`
For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.12.0
[!] CocoaPods could not find compatible versions for pod "Firebase/CoreOnly":
  In Podfile:
    EXFirebaseCore (from `../node_modules/expo-firebase-core/ios`) was resolved to 6.0.0, which depends on
      Firebase/Core (= 9.5.0) was resolved to 9.5.0, which depends on
        Firebase/CoreOnly (= 9.5.0)
    RNFBApp (from `../node_modules/@react-native-firebase/app`) was resolved to 17.3.1, which depends on
      Firebase/CoreOnly (= 10.5.0)
Error: Compatible versions of some pods could not be resolved.
You are seeing this error because either:
  - Versions in the cached Podfile.lock do not match required values in Podspecs of some installed libraries. To fix this, you can re-run build command with "--clear-cache" option, or select "Clear cache and retry build" on the build page.
  - Some of the pods used in your project depend on different versions of the same pod. See logs for more information.

And the final fail build:

Build failed: Compatible versions of some pods could not be resolved.
You are seeing this error because either:
  - Versions in the cached Podfile.lock do not match required values in Podspecs of some installed libraries. To fix this, you can re-run build command with "--clear-cache" option, or select "Clear cache and retry build" on the build page.
  - Some of the pods used in your project depend on different versions of the same pod. See logs for more information.

Package.json

{
  "name": "drebe",
  "version": "2.0.1",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "postinstall": "patch-package"
  },
  "dependencies": {
    "@expo/ngrok": "^4.1.0",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/hooks": "^2.8.1",
    "@react-native-firebase/app": "^17.3.1",
    "@react-native-masked-view/masked-view": "^0.2.8",
    "@react-navigation/bottom-tabs": "^5.8.0",
    "@react-navigation/material-bottom-tabs": "^5.2.16",
    "@react-navigation/native": "^5.7.3",
    "@react-navigation/stack": "^5.9.0",
    "deprecated-react-native-prop-types": "^2.2.0",
    "expo": "~47.0.8",
    "expo-app-loading": "~2.1.1",
    "expo-av": "~13.0.3",
    "expo-build-properties": "~0.4.1",
    "expo-camera": "~13.1.0",
    "expo-constants": "~14.0.2",
    "expo-contacts": "^11.0.1",
    "expo-device": "~5.0.0",
    "expo-firebase-recaptcha": "~2.3.1",
    "expo-font": "~11.0.1",
    "expo-image-multiple-picker": "^4.8.3",
    "expo-image-picker": "~14.0.2",
    "expo-linear-gradient": "~12.0.1",
    "expo-media-library": "~15.0.0",
    "expo-modules-autolinking": "~1.0.0",
    "expo-notifications": "~0.17.0",
    "expo-permissions": "~14.0.0",
    "expo-splash-screen": "~0.17.5",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.15.6",
    "firebase": "8.2.3",
    "moment": "^2.29.1",
    "node-fetch": "^2.6.1",
    "patch-package": "^6.5.0",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-firebase-hooks": "^3.0.4",
    "react-native": "0.70.5",
    "react-native-bluetooth-serial": "^1.0.0-rc1",
    "react-native-chart-kit": "^6.11.0",
    "react-native-communications": "^2.2.1",
    "react-native-drax": "^0.10.3",
    "react-native-easy-grid": "^0.2.2",
    "react-native-fast-image": "^8.6.1",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-hide-with-keyboard": "^1.2.1",
    "react-native-image-slider-box": "^2.0.7",
    "react-native-localize": "^2.2.4",
    "react-native-paper": "^4.2.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-sketchpad": "^1.0.1",
    "react-native-svg": "13.4.0",
    "react-native-swipe-gestures": "^1.0.5",
    "react-native-table-component": "^1.2.2",
    "react-native-text-gradient": "^0.1.7",
    "react-native-vector-icons": "^7.1.0",
    "react-native-video": "^5.2.0",
    "react-native-vision-camera": "^2.13.3",
    "react-native-web": "~0.18.7",
    "react-native-webview": "11.23.1",
    "react-redux": "^7.2.6",
    "redux": "^4.1.2",
    "redux-thunk": "^2.4.1"
  },
  "overrides": {
    "expo-modules-autolinking": "~1.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9"
  },
  "private": true
}

app.json

{
  "expo": {
    "name": 
    "slug": 
    "version": "2.0.1",
    "orientation": "portrait",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "cover",
      "backgroundColor": "#ffffff"
    },
    "plugins": [
      [
        "expo-build-properties",
        {
          "android": {
            "compileSdkVersion": 31,
            "targetSdkVersion": 31,
            "buildToolsVersion": "31.0.0"
          },
          "ios": {
            "deploymentTarget": "13.0"
          }
        }
      ]
    ],
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
      "bundleIdentifier": 
      "buildNumber": "26",
      "supportsTablet": true
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/icon.png",
        "backgroundColor": "#FFFFFF"
      },
    },
    "web": {
      "favicon": "./assets/favicon.png"
    },
    "extra": {
      "eas": {
        "projectId": "d01ea65f-53dc-470d-bc42-ebcfd5afa8b5"
      }
    }
  }
}

Tried removing differnet packages and I tried a lot of other issues online but couldn't figure it out. This CocoaPods could not find compatible versions for pod "Firebase/Core” | cloud_firestore, Flutter works with flutter but I am not using flutter. I don't have access to a podfile so I cannot make that change.


Solution

  • Make sure you don't have any modules that use expo-firebase-core in your package.json. Remove all libraries that use the expo firebase web sdk. I removed firebase, expo-firebase-core, and expo-firebase-recaptcha and this solved my issue.