Fastlane failed because of expo-dev-menu, when building with eas

Hello, I’m getting a lot of error that I can’t find the answer in stackoverflow, github etc …

This is the errors I’m getting on Fastlane step :

Compiling expo-dev-menu Pods/expo-dev-menu » DevMenuManager.swift
❌  (ios/Pods/Headers/Private/expo-dev-menu/EXDevMenu/DevMenuRCTBridge.h:3:9)

  1 | // Copyright 2015-present 650 Industries. All rights reserved.
  2 | 
> 3 | #import <React/RCTBridge+Private.h>
    |         ^ 'React/RCTBridge+Private.h' file not found
  4 | 
  5 | NS_ASSUME_NONNULL_BEGIN
  6 | 

…about 20 similars errors due to expo-dev-menu

 (ios/Pods/Headers/Private/expo-dev-menu/EXDevMenu/DevMenuRCTBridge.h:3:9)

  1 | // Copyright 2015-present 650 Industries. All rights reserved.
  2 | 
> 3 | #import <React/RCTBridge+Private.h>
    |         ^ 'React/RCTBridge+Private.h' file not found
  4 | 
  5 | NS_ASSUME_NONNULL_BEGIN
  6 | 

❌  (ios/Pods/Headers/Private/expo-dev-menu/EXDevMenu/DevMenuRCTBridge.h:3:9)

  1 | // Copyright 2015-present 650 Industries. All rights reserved.
  2 | 
> 3 | #import <React/RCTBridge+Private.h>
    |         ^ 'React/RCTBridge+Private.h' file not found
  4 | 
  5 | NS_ASSUME_NONNULL_BEGIN
  6 | 
› Packaging expo-dev-menu-interface Pods/expo-dev-menu-interface » libexpo-dev-menu-interface.a
› Executing expo-dev-menu-interface Pods/expo-dev-menu-interface » Copy generated compatibility header
› Compiling react-native Pods/React-logger » react_native_log.cpp
› Compiling react-native Pods/React-jsinspector » React-jsinspector-dummy.m
› Packaging react-native Pods/React-logger » libReact-logger.a
› Compiling react-native Pods/React-jsinspector » InspectorInterfaces.cpp
› Packaging react-native Pods/React-jsinspector » libReact-jsinspector.a
› Copying   ../../../Users/expo/Library/Developer/Xcode/DerivedData/CHECKITDEV-bagyysesclkbjmbqbgmrcixtvmxg/Build/Intermediates.noindex/ArchiveIntermediates/CHECKITDEV/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/AccessibilityResources.bundle/en.lproj ➜ ../../../Users/expo/workingdir/build/node_modules/react-native/React/AccessibilityResources/en.lproj
▸ ** ARCHIVE FAILED **
▸ The following build commands failed:
▸ 	CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'expo-dev-menu' from project 'Pods')

I don’t know what is is related to.
Without expo-dev-menu, i get theses errors on Pod install step :

[!] Unable to find a specification for `EXUpdatesInterface` depended upon by `EXUpdates`
[!] Unable to find a specification for `expo-dev-launcher` depended upon by `expo-dev-client`
[!] Unable to find a specification for `expo-dev-menu-interface` depended upon by `expo-dev-launcher`
[!] Unable to find a specification for `expo-dev-menu` depended upon by `expo-dev-client`

After installing theses packages with expo install … and launch the new build, I managed to pass the Pod install step, but now I get the error I mentionned at the beginning

Workflow : Managed
SDK : 46

package.json :

{
    "name": "my-app",
    "version": "1.0.0",
    "main": "node_modules/expo/AppEntry.js",
    "scripts": {
        "start": "expo start --clear",
        "dev": "APP_ENV=development npx expo start --dev-client",
        "build:dev": "APP_ENV=development eas build --profile development",
        "build:staging": "APP_ENV=staging eas build --profile staging",
        "update:staging": "APP_ENV=staging eas update --branch staging",
        "android": "expo start --android",
        "ios": "expo start --ios",
        "web": "expo start --web"
    },
    "dependencies": {
        "@expo/react-native-action-sheet": "^3.14.0",
        "@react-native-async-storage/async-storage": "~1.17.3",
        "@react-native-community/datetimepicker": "6.2.0",
        "@react-native-community/masked-view": "^0.1.11",
        "@react-navigation/bottom-tabs": "^6.4.0",
        "@react-navigation/material-bottom-tabs": "^6.2.4",
        "@react-navigation/material-top-tabs": "^6.3.0",
        "@react-navigation/native": "^6.0.13",
        "@react-navigation/native-stack": "^6.9.1",
        "@react-navigation/stack": "^6.3.2",
        "@reduxjs/toolkit": "^1.8.6",
        "axios": "^1.1.3",
        "expo": "~46.0.16",
        "expo-calendar": "~10.3.0",
        "expo-clipboard": "~3.1.0",
        "expo-constants": "~13.2.4",
        "expo-dev-client": "~1.3.1",
        "expo-device": "~4.3.0",
        "expo-font": "~10.2.0",
        "expo-image-picker": "~13.3.1",
        "expo-intent-launcher": "~10.3.0",
        "expo-linear-gradient": "~11.4.0",
        "expo-localization": "~13.1.0",
        "expo-location": "~14.3.0",
        "expo-skeleton-loader": "^1.1.3",
        "expo-splash-screen": "~0.16.2",
        "expo-status-bar": "~1.4.0",
        "expo-updates": "~0.14.6",
        "formik": "^2.2.9",
        "imagekit-javascript": "1.3.7",
        "lottie-react-native": "5.1.3",
        "moment": "^2.29.4",
        "react": "18.0.0",
        "react-i18next": "^11.18.6",
        "react-native": "0.69.6",
        "react-native-actions-sheet": "^0.8.8",
        "react-native-calendars": "^1.1289.0",
        "react-native-collapsible-tab-view": "^5.0.0-rc.13",
        "react-native-gesture-handler": "~2.5.0",
        "react-native-google-places-autocomplete": "^2.4.1",
        "react-native-hyperlink": "^0.0.22",
        "react-native-map-clustering": "^3.4.2",
        "react-native-map-link": "^2.10.2",
        "react-native-maps": "0.31.1",
        "react-native-modal": "^13.0.1",
        "react-native-pager-view": "5.4.24",
        "react-native-paper": "^4.12.5",
        "react-native-reanimated": "~2.9.1",
        "react-native-safe-area-context": "4.3.1",
        "react-native-screens": "~3.15.0",
        "react-native-shared-element": "^0.8.4",
        "react-native-svg": "^12.3.0",
        "react-native-svg-transformer": "^1.0.0",
        "react-native-tab-view": "^3.3.0",
        "react-native-toast-message": "^2.1.5",
        "react-native-vector-icons": "^9.2.0",
        "react-redux": "^8.0.4",
        "yup": "^0.32.11"
    },
    "devDependencies": {
        "@babel/core": "^7.12.9",
        "babel-plugin-transform-inline-environment-variables": "^0.4.4"
    },
    "private": true
}

  • is this within a monorepo?
  • i noticed that you added expo-updates-interface to your dependencies. that shouldn’t be needed. this makes me suspect that there might be some monorepo related dependency issue.
  • what changed in your project between these builds?

Hello
Thanks for the reply
This is a mono repo
I added expo-updates-interface because of the first error I mentionned :

[!] Unable to find a specification for `EXUpdatesInterface` depended upon by `EXUpdates`

I tried to to a new build with the exact same package.json file from the build that succeed, but I have the errors I mentionned above.
The only thing I did is to install expo-notifications. Tried it on expo-go, worked perfectly and then wanted to try it on development build and finally get these errors.
My first thought was it was because of expo-notifications package, but once I removed it from node-modules, the build process kept failing

it sounds like we’re unable to find the expo-updates-interface package in your monorepo. it’s very difficult to help people debug issues with their particular bespoke monorepo setups, i’d suggest following this guide to ensure it’s set up properly Working with Monorepos - Expo Documentation

I’m sorry I’ve made a mistake this is not a monorepo

i recommend following this guide: Troubleshooting build errors and crashes - Expo Documentation

if you’re still stuck after that, there is a section at the bottom of the page that explains how you can formulate your question to best get an answer