Learn about the current limitations of EAS Build.
EAS Build is designed to work for any React Native project. However, it is good to be aware of certain limitations that we plan to address since they could prevent you from being able to use the service for your applications or might cause an inconvenience.
The Server infrastructure reference contains the most up-to-date information about the current specifications of the Android (Ubuntu) and iOS (macOS) build servers. You may find that the resources available are not sufficient to build your app if your build process requires more than 12GB RAM. In the future, we will add more powerful configurations to increase memory limits and speed up build times.
Build jobs for Android install npm and Maven dependencies from a local cache. Build jobs for iOS install npm dependencies from a local cache, but there is no caching for CocoaPods yet.
Intermediate artifacts like
node_modules directories are not cached and restored (eg: based on
package-lock.json), but if you commit them to your git repository then they will be uploaded to build servers.
If your build takes longer than 2 hours to run, it will be cancelled. This limit is lower on the free plan, and the limit is subject to change in the future.
While you likely can have success using other monorepo tools like Nx if you are willing to dig in and understand the tooling and get your hands dirty, the Expo team will be unable to provide support and guidance on those tools. We recommend using Yarn Workspaces because it is the only monorepo tool that we provide first-class integration with at the moment.
EAS Build supports building iOS/Android native projects, so it works with any React Native app. Support for Managed Expo projects is only available for SDK 41 and higher. For best results, we recommend using the latest SDK version, or at least SDK 43.
The goal for managed projects with EAS Build is to remove the limitations commonly encountered with the classic build service (
expo build): it will produce smaller binaries by only including the dependencies you need, and you will be able to include custom native code.
To be notified as progress is made on these items, you can subscribe to the EAS newsletter on expo.dev/eas.