Expo Application Services
API Reference


To develop applications with Expo, you need two tools. A command-line tool called Expo CLI to serve your project, and a mobile client app called Expo Go to open the project on iOS and Android platforms. Additionally, you can use any web browser to run the project on the web.
You don't need macOS to build an iOS app with Expo. You only need an iOS device to run the Expo Go app. Windows, Linux, and macOS are all supported for your development machine.

1. Expo CLI

Expo CLI is a command-line tool that is the primary interface between a developer and other Expo tools. You are going to use it for different tasks in the development life cycle of your project such as serving the project in development, viewing logs, opening the app on an emulator or a physical device, and so on.


To use Expo CLI, you need to have the following tools installed on your developer machine:
  • Node.js LTS release - Only Node.js LTS releases (even-numbered) are recommended. As Node.js officially states, "Production applications should only use Active LTS or Maintenance LTS releases".
  • Git
  • For macOS or Linux users: Watchman

Recommended tools

For Windows users we recommend using PowerShell, Bash via WSL, or the VS Code terminal.

Using Expo CLI

You can use Expo CLI without installation by leveraging npx — a Node.js package runner.
For example, to see a list of available commands in Expo CLI, open the terminal on your development machine and run the following command:
# See a list of available commands in Expo CLI
→ npx expo -h
Now, run the following command:
→ npx expo whoami
This command checks which Expo account is currently authenticated on your machine. You will see a Not logged in message since you are not logged in to an Expo account. You do not need an account to start and can proceed further with your project. However, if you want to register a new Expo account, run the following command to register a new account:
→ npx expo register
If you already have an Expo account, you can log in to it by running the command:
→ npx expo login
Need help? Try searching the forums — which are great resources for troubleshooting.

2. Expo Go app for Android and iOS

The fastest way to get up and running is to use the Expo Go client app on your iOS or Android device. It allows you to open up apps served through Expo CLI and run your projects faster when developing them. It is available on both the iOS App Store and Android Play Store.
Open the Expo Go app after it has finished installing. If you have created an account with Expo CLI, you can sign in by clicking the "Login" button in the top header on the "Home" tab. Signing in will make it easier for you to open projects in the Expo Go app while developing them — they will appear automatically under the "Projects" section on the Home tab of the app.
It's often useful to be able to run your app directly on your computer instead of on a separate physical device. If you would like to set this up, you can learn more about installing an Android Emulator and installing the iOS Simulator (macOS only).

Up next

Now that Expo CLI is working and the Expo Go app is installed, let's create a new app and write some code.
  • Message-iconAsk a question on the forums
  • Edit-iconEdit this page

Was this doc helpful?