EAS Build Error stuck at Prebuild step: times out while waiting for input Y/N at “This command requires Expo CLI”

When I execute the following command from my app CL eas build --profile development --platform all the eas CLI kicks off builds for both iOS.

Over in the online expo.dev builds section, the process gets stuck in the Prebuild step with the following output: yarn run v1.22.17 $ /Users/expo/workingdir/build/node_modules/.bin/expo prebuild --no-install --platform ios [stderr] This command requires Expo CLI. Do you want to install it globally [Y/n]?

I obviously cannot interact with the CL at this point on the web, any ideas on what can be done about this?

I am running:

  • managed workflow
  • eas-cli version 2.7.1
  • expo SDK 47.0.0

do you have the expo-cli package installed to your project dependencies? you should remove it

1 Like

The expo cli is installed globally on my machine and not in the repo

[Solved] I was able to get the EAS build pipeline to complete the Prebuild step by triggering a download of the latest Expo-CLI by providing the latest version in my .eas.json build configuration

 "build": {
    "development": {
      "expoCli": "6.0.8",
      "channel": "development",
      "distribution": "internal",
      "android": {
        "buildType": "apk"
      }
    },
...
}

can you please share a link to your build page sop i can investigate this?

here is the build for ios. here is the droid build link. Im clearly able to progress beyond the Prebuild step, but am still running into Fastlane and Gradel errors

have a look at the expo doctor step:

also it looks like you’re using yarn workspaces. do you have another app in the repository that uses an old version of the expo package or installs expo-cli?

1 Like

Good catch, I do have a separate ui component workspace that seems to have expo v 45.0.0 and some UI-focused expo packages

I’m having the exact same issue. I double checked and, even though I’m using yarn workspaces I don’t have the cli listed as a dependency anywhere.

My local expo doctor runs with no errors, but the EAS step looks like this

Update: I’m also on sdk 47, eas-cli 2.7.1 and a managed workflow

share a link to your build page? do you have the expo-cli package installed locally to your project?

No, I double checked and I don’t have the cli installed anywhere in my project.

Here’s the link: Build Details — 5c1e3dbc-69c9-4424-b08f-57b36d367ca8 — munity-app — Expo , I took that screenshot from there.

do you have another version of the expo package in your project? run yarn why expo to see which versions there are. my guess is you have some old version like expo@45 still installed (possibly through a transitive dependency, or in another project in your monorepo), and yarn ends up linking the expo bin to that. expo@45 doesn’t use the “local cli” but 47 does.

ha! That’s probably it: we’re moving from 45 to 47 and I added a bunch of nohoist-ed packages (expo included) to avoid all the weirdness that comes with it. We used to have expo as a hoisted dev dep and it wasn’t removed. After removing it, the build succeeded, thank you! One thing to note tho, expo doctor is still failing (?)

Strange. What is the exit status?

expo-cli doctor; echo $?

It should output this:

🎉 Didn't find any issues with the project!
0

Local expo doctor runs perfectly fine, the issue is with the EAS build step that runs expo doctor

Yes, I understand that. I am still interested in the exit status. In my case it’s 0. What do you get?

Yeah, the exit code is 0, that’s why I said it runs perfectly fine

Ok. Sometimes it’s best to be explicit, because I couldn’t tell whether it ran fine, or you thought it ran fine :slight_smile: