EAS local build for iOS fails when running on terminal

  • managed workflow
  • Your eas-cli version: eas-cli/5.4.0 darwin-arm64 node-v20.3.1

When trying to build locally, by doing on a terminal

eas build --platform ios --local

I’get this output error:

[RUN_FASTLANE]     Run script build phase 'Start Packager' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'iResucit' from project 'iResucit')
[RUN_FASTLANE]     Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'iResucit' from project 'iResucit')
[RUN_FASTLANE]     Run script build phase 'Upload Debug Symbols to Sentry' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'iResucit' from project 'iResucit')
[RUN_FASTLANE]     Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
[RUN_FASTLANE] ▸ ** ARCHIVE FAILED **

Looking for the EXConstants build step, I’ve found that the script at

/node_modules/expo-constants/scripts/get-app-config-ios.sh

fails like this:

usage: basename string [suffix]
       basename [-a] [-s suffix] string [...]

Looking the source I see:

PROJECT_DIR_BASENAME=$(basename $PROJECT_DIR)

And it seems $PROJECT_DIR is undefined here. I’m running outside Xcode, in a terminal.

How to solve this?

you should look into your full xcode logs for more information, those fastlane logs are truncated or it would be a lot of logspam scrolling by.

the full build logs path is printed by fastlane:

@brents that folder is empty, any other help?

perhaps it w cleaned up already. i’d suggest setting EAS_LOCAL_BUILD_SKIP_CLEANUP=1 and then you can open up the project in xcode if it fails building and debug from there