Why do I still need to be logged into expo for EAS local build if I have the credentials.json already

I am trying to do a local OFFLINE or firewalled build with EAS. I have a local cache for the yarn and cococa pods and have all the depenencies set up.

I downloaded the credentials and set eas.json to use “local” credentials.

But when I run it while I was on airplane mode to test it out, it still says I need to login to EAS.

I also set updates to off (though it’s still requiring expo-update to be installed, but that’s another issue)

To my knowledge you don’t need to do an [expo publish]( Does eas local build require expo publish first? - Stack Overflow) for prebuild.

Since there’s no need for publish and I have the keys locally already, why does the EXPO_TOKEN still need to be set?

is your question: “why is it necessary to be signed in to my expo account in eas-cli when doing a local build while offline? is there any way to get around this?”

yup that’s another way of writing it.

The result should be the same.

One of the reasons for the expo is to ensure that the the project does exist, but if it is doing an EAS build it doesn’t publish anyway so why would the need to check the existence of the project still be needed?

I did a search on your writing of the question but I didn’t see it either.

There is no technical reason why it shouldn’t be possible, but

  • It’s a lot of work to implement. Local builds are not on par with cloud builds, but they still integrate with a lot of cloud functionalities e.g. credentials management, that we would need to handle for anonymous user.
  • There is no real use case for that, even if you do not use any cloud functionality eas provides, then you still wouldn’t be able to run actual build without internet even with cache there are parts of the build process that would still need to download sth.


So basically offline/behind corporate firewall type builds wouldn’t be possible then?

offline no, behind corporate firewall there shouldn’t be any problem on eas-cli side, it respects proxy configuration.

I’m not sure how configuration looks like for gradle/npm/cocoapods behind VPN, but at this point it’s the same class of problem as you would have when building a react-native app.


sth = something

1 Like

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.