Difference between Expo and EAS command lines

I’ve been reading a lot of Expo documentation and I feel like some of the following command lines are sometime used interchangeably. Is there a place where I could find an explanation for the difference between expo build:ios and eas build --platform ios, as well as between expo submit:android (does that command even exist?) and eas submit --platform android? Thanks.


expo build:ios is the original way to build Expo apps using Expo’s build servers.
eas build --platform ios is the new way.

EAS Build is much more powerful than the old way of doing things. With expo build, you’re limited to a fixed set of native dependencies. This means that you can’t install extra native dependencies in an app that you compile with expo build, whereas you can with eas build. Also, with expo build, even if you don’t use face recognition, or Facebook ads (for example), your app still contains that native code. So the app will be bigger than it needs to be and Apple/Google might not allow you to market your app to children. With EAS Build, your app will only contain the native code that you are actually using (based on the dependencies in packages.json).

i.e. if you build your app with expo build, you cannot add extra native code and you cannot remove native code that you don’t need. With EAS Build you can.

EAS Build and EAS Submit, etc. are still in preview because the Expo Team is still smoothing rough edges, but they work pretty well already.

There is no expo submit.


That helps clarify things. Thanks a lot.

1 Like

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