Docs-logo

Expo

Get Started
Feature Preview
Slash-shortcut-icon
Hamburger-icon

Getting started

Info-icon
EAS Update is currently available only to customers with an EAS subscription plan. Sign up.
Setting up EAS Update allows you to push critical bug fixes and improvements that your users need right away.

Prerequisites

EAS Update requires the following versions or greater:
  • Expo CLI >= 5.3.0
  • EAS CLI >= 0.50.0
  • Expo SDK >= 45.0.0
  • expo-updates >= 0.13.0

Install EAS and Expo CLIs by running:
Terminal
→ npm install --global eas-cli expo-cli

  1. Create an account at https://expo.dev/signup
  2. Then, log in with EAS CLI:
    Terminal
    → eas login
  3. After logging in, you can verify the logged-in account with eas whoami.

Create a project by running:
Terminal
→ npx create-expo-app

  1. Install the latest expo-updates library with:
    Terminal
    → expo install expo-updates
  2. Initialize your project with EAS Update:
    Terminal
    → eas update:configure
  3. To set up the configuration file for builds, run:
    Terminal
    → eas build:configure
    This command will create a file named eas.json.
  4. Inside the preview and production build profiles in eas.json, add a channel property for each:
    {
      "build": {
        "preview": {
          "channel": "preview",
          // ...
        },
        "production": {
          "channel": "production",
          // ...
        }
      }
    }
    
    The channel allows you to point updates at builds. For example, if we set up a GitHub Action to publish changes on merge, it will make it so that we can merge code into the "production" Git branch. Then, each commit will trigger a GitHub Action that will publish an update that will be available to builds with the channel "production".
  5. Optional: If your project is a bare React Native project, read the doc on additional configuration you may need.

Next, we'll need to create a build for Android or iOS. Learn more.
We recommend creating a build with the preview build profile first. Learn more about setting up your devices for internal distribution.
Once you have a build running on your device or in a simulator, we'll be ready to send it an update.

Once we've created a build, we're ready to iterate on our project. Start a local development server with:
Terminal
→ yarn start
# or
→ expo start
Then, make any desired changes to your project's JavaScript, styling, or image assets.

Now we're ready to publish an update to the build created in the previous step.
Then publish an update with the following command:
eas update --branch [branch] --message [message]

# Example
eas update --branch preview --message "Updating the app"
Once the update is built and uploaded to EAS and the command completes, force close and reopen your app up to two times to download and view the update.
⚠️
While EAS Update is in "preview" we are only allowing up to 400 assets to be uploaded in a single publish.

You can publish updates continuously with GitHub Actions. Learn more: Using GitHub Actions with EAS Update