1--- 2title: Getting started 3description: Learn how to get started with EAS Update and use in your project. 4--- 5 6import { Terminal } from '~/ui/components/Snippet'; 7import { Step } from '~/ui/components/Step'; 8 9Setting up EAS Update allows you to push critical bug fixes and improvements that your users need right away. 10 11## Prerequisites 12 13EAS Update requires the following versions or greater: 14 15- EAS CLI >= 0.50.0 16- Expo SDK >= 45.0.0 17- expo-updates >= 0.13.0 18 19<Step label="1"> 20## Install the latest EAS CLI 21 22EAS CLI is the command-line app that you will use to interact with EAS services from your terminal. To install it, run the command: 23 24<Terminal cmd={['$ npm install --global eas-cli']} /> 25 26You can also use the above command to check if a new version of EAS CLI is available. We encourage you to always stay up to date with the latest version. 27 28> We recommend using `npm` instead of `yarn` for global package installations. You may alternatively use `npx eas-cli`, just remember to use that instead of `eas` whenever it's called for in the documentation. 29 30</Step> 31 32<Step label="2"> 33## Create a project 34 35Create a project by running: 36 37<Terminal cmd={['$ npx create-expo-app']} /> 38</Step> 39 40<Step label="3"> 41## Configure your project 42 43To configure your project, run the following commands in the order they are specified: 44 45<Terminal 46 cmd={[ 47 '# Install the latest `expo-updates` library', 48 '$ npx expo install expo-updates', 49 '', 50 '# Initialize your project with EAS Update', 51 '$ eas update:configure', 52 '', 53 '# Set up the configuration file for builds', 54 '$ eas build:configure', 55 ]} 56 cmdCopy="expo install expo-updates && eas update:configure && eas build:configure" 57/> 58 59After running these commands, **eas.json** file will be created in the root directory of your project. 60 61Inside the `preview` and `production` build profiles in **eas.json**, add a `channel` property for each: 62 63```json eas.json 64{ 65 "build": { 66 "preview": { 67 "channel": "preview" 68 // ... 69 }, 70 "production": { 71 "channel": "production" 72 // ... 73 } 74 } 75} 76``` 77 78The `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". 79 80> **Optional**: If your project is a bare React Native project, see [Updating bare app](/bare/updating-your-app) for any additional configuration. 81 82</Step> 83 84<Step label="4"> 85## Create a build for the project 86 87Next, we'll need to create a build for Android or iOS. [Learn more](/build/setup). 88 89We recommend creating a build with the `preview` build profile first. [Learn more](/build/internal-distribution) about setting up your devices for internal distribution. 90 91Once you have a build running on your device or in a simulator, we'll be ready to send it an update. 92 93</Step> 94 95<Step label="5"> 96## Make changes locally 97 98Once we've created a build, we're ready to iterate on our project. Start a local development server with: 99 100<Terminal cmd={['$ npx expo start']} /> 101 102Then, make any desired changes to your project's JavaScript, styling, or image assets. 103 104</Step> 105 106<Step label="6"> 107## Publish an update 108 109Now we're ready to publish an update to the build created in the previous step. 110 111Then publish an update with the following command: 112 113<Terminal 114 cmd={[ 115 '$ eas update --branch [branch] --message [message]', 116 '', 117 '# Example', 118 '$ eas update --branch preview --message "Updating the app"', 119 ]} 120 cmdCopy={null} 121/> 122 123Once 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. 124 125</Step> 126 127## Next steps 128 129You can publish updates continuously with GitHub Actions. Learn more: [Using GitHub Actions with EAS Update](/eas-update/github-actions) 130