expo package.
Installation
The CLI is automatically installed with theexpo package:
Usage
Run Expo CLI commands usingnpx:
Global Options
These options are available for all commands:flag
Output the version number
flag
Display help for command
flag
Disable interactive prompts
Commands
expo start
Start a development server for your project.Options
Options
flag
Clear the Metro bundler cache
flag
default:"true"
Enable development mode
flag
Disable development mode (production mode)
flag
Minify JavaScript
flag
Start server with HTTPS
number
default:"8081"
Port to run Metro bundler on
string
Hostname for the dev server
flag
Start a tunnel for the dev server
flag
Use LAN connection
flag
Use localhost connection
flag
Skip network requests
flag
Start for a development build (non-Expo Go)
flag
Start for Expo Go
string
Custom URL scheme to use when launching the app
flag
Open on connected Android device/emulator
flag
Open on connected iOS simulator
flag
Open in web browser
string
Path to private key for code signing
expo run:ios
Build and run the iOS app locally.Options
Options
expo run:android
Build and run the Android app locally.Options
Options
expo prebuild
Generate native iOS and Android directories for your project.Options
Options
Running
prebuild will create ios/ and android/ directories. These should be added to .gitignore if using continuous native generation.expo install
Install a package and ensure compatible versions with your Expo SDK.Options
Options
expo export
Export the app for deployment.Options
Options
expo build
Deprecated. Use EAS Build instead.expo config
Show the project config.Options
Options
expo customize
Generate template files for customization.expo doctor
Check the project for potential issues.Options
Options
flag
Fix dependency version issues
expo lint
Run ESLint on the project.Options
Options
flag
Automatically fix problems
expo login
Login to your Expo account.expo logout
Logout from your Expo account.expo whoami
Show the currently authenticated account.expo register
Create a new Expo account.Autolinking
expo-modules-autolinking
Search for Expo modules installed in the project.search- Search for Expo modulesresolve- Resolve module configurationverify- Verify autolinking setup
Environment Variables
EXPO_DEBUG
Enable debug logging:EXPO_NO_TELEMETRY
Disable anonymous usage telemetry:EXPO_USE_METRO_WORKSPACE_ROOT
Use the workspace root as the Metro project root:Package Manager Detection
The CLI automatically detects your package manager:- Checks for lockfiles (
package-lock.json,yarn.lock,pnpm-lock.yaml,bun.lockb) - Falls back to npm if no lockfile is found
- Can be overridden with
--npm,--yarn,--pnpm, or--bunflags
Interactive Prompts
The CLI includes interactive prompts for better developer experience:- Device selection: Choose which device to run on
- Package installation: Confirm installing missing packages
- Config generation: Confirm creating config files
- Platform selection: Choose which platforms to target
--non-interactive for CI/CD environments.
Keyboard Shortcuts
When the dev server is running, use these shortcuts:a- Open on Androidi- Open on iOSw- Open in web browserr- Reload appm- Toggle menuj- Open debuggerc- Clear Metro cached- Show dev menu?- Show all commands