aab
and ipa
files) to be uploaded to the App Store and Play Store→
npm install -g expo-cli
expo --version
to determine what version you are currently working with.expo --help
. To learn more about a specific command and its options use expo [command] --help
.# Usage: expo [command] [options]
Based onexpo-cli
v5.2.0
Option | Description |
---|---|
--platform [all\|android\|ios] | Platforms: android, ios, all |
-p, --public-url [url] | The public url that will host the static files (required) |
-c, --clear | Clear the Metro bundler cache |
--output-dir [dir] | The directory to export the static files to |
-a, --asset-url [url] | The absolute or relative url that will host the asset files |
-d, --dump-assetmap | Dump the asset map for further processing |
--dev | Configure static files for developing locally using a non-https server |
-s, --dump-sourcemap | Dump the source map for debugging the JS bundle |
-q, --quiet | Suppress verbose output |
-t, --target [managed\|bare] | Target environment for which this export is intended |
--merge-src-dir [dir] | A repeatable source dir to merge in |
--merge-src-url [url] | A repeatable source tar.gz file URL to merge in |
--max-workers [num] | Maximum number of tasks to allow Metro to spawn |
--experimental-bundle | export bundles for use with EAS updates |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo i
Option | Description |
---|---|
-t, --template [name] | Specify which template to use. Valid options are "blank", "tabs", "bare-minimum" or a package on npm (e.g. "expo-template-bare-minimum") that includes an Expo project template. |
--npm | Use npm to install dependencies. (default when Yarn is not installed) |
--yarn | Use Yarn to install dependencies. (default when Yarn is installed) |
--no-install | Skip installing npm packages or CocoaPods. |
--name [name] | The name of your app visible on the home screen. |
--yes | Use default options. Same as "expo init . --template blank |
expo add
Option | Description |
---|---|
--npm | Use npm to install dependencies. (default when package-lock.json exists) |
--yarn | Use Yarn to install dependencies. (default when yarn.lock exists) |
Option | Description |
---|---|
--no-bundler | Skip starting the Metro bundler |
-d, --device [device] | Device name to build the app on |
-p, --port [port] | Port to start the Metro bundler on. Default: 8081 |
--variant [name] | (Android) build variant |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--no-build-cache | Clear the native derived data before building |
--no-install | Skip installing dependencies |
--no-bundler | Skip starting the Metro bundler |
-d, --device [device] | Device name or UDID to build the app on |
-p, --port [port] | Port to start the Metro bundler on. Default: 8081 |
--scheme [scheme] | Scheme to build |
--configuration [configuration] | Xcode configuration to use. Debug or Release. Default: Debug |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
-s, --send-to [dest] | Email address to send the URL to |
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a development build |
-a, --android | Opens your app in Expo Go on a connected Android device |
-i, --ios | Opens your app in Expo Go in a currently running iOS simulator on your computer |
-w, --web | Opens your app in a web browser |
-m, --host [mode] | lan (default), tunnel, localhost. Type of host to use. "tunnel" allows you to view your link on other networks |
--tunnel | Same as --host tunnel |
--lan | Same as --host lan |
--localhost | Same as --host localhost |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo r
Option | Description |
---|---|
-s, --send-to [dest] | An email address to send a link to |
-c, --clear | Clear the Metro bundler cache |
--max-workers [num] | Maximum number of tasks to allow Metro to spawn. |
--no-dev | Turn development mode off |
--minify | Minify code |
--https | To start webpack with https protocol |
--force-manifest-type [manifest-type] | Override auto detection of manifest type |
-p, --port [port] | Port to start the native Metro bundler on (does not apply to web or tunnel). Default: 19000 |
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a development build |
-a, --android | Opens your app in Expo Go on a connected Android device |
-i, --ios | Opens your app in Expo Go in a currently running iOS simulator on your computer |
-w, --web | Opens your app in a web browser |
-m, --host [mode] | lan (default), tunnel, localhost. Type of host to use. "tunnel" allows you to view your link on other networks |
--tunnel | Same as --host tunnel |
--lan | Same as --host lan |
--localhost | Same as --host localhost |
--offline | Allows this command to run while offline |
--dev | Deprecated: Dev mode is used by default |
--no-minify | Deprecated: Minify is disabled by default |
--no-https | Deprecated: https is disabled by default |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo web
Option | Description |
---|---|
--no-dev | Turn development mode off |
--minify | Minify code |
--https | To start webpack with https protocol |
--force-manifest-type [manifest-type] | Override auto detection of manifest type |
-p, --port [port] | Port to start the Webpack bundler on. Default: 19006 |
-s, --send-to [dest] | An email address to send a link to |
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a development build |
-a, --android | Opens your app in Expo Go on a connected Android device |
-i, --ios | Opens your app in Expo Go in a currently running iOS simulator on your computer |
-w, --web | Opens your app in a web browser |
-m, --host [mode] | lan (default), tunnel, localhost. Type of host to use. "tunnel" allows you to view your link on other networks |
--tunnel | Same as --host tunnel |
--lan | Same as --host lan |
--localhost | Same as --host localhost |
--offline | Allows this command to run while offline |
--dev | Deprecated: Dev mode is used by default |
--no-minify | Deprecated: Minify is disabled by default |
--no-https | Deprecated: https is disabled by default |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo signin
Option | Description |
---|---|
-u, --username [string] | Username |
-p, --password [string] | Password |
--otp [string] | One-time password from your 2FA device |
expo w
Option | Description |
---|---|
--latest | Install the latest version of Expo Go, ignoring the current project version. |
Option | Description |
---|---|
-d, --device [device] | Device name to install the client on |
--latest | Install the latest version of Expo Go, ignore the current project version. |
Option | Description |
---|---|
-t, --type [public\|prebuild\|introspect] | Type of config to show. |
--full | Include all project config data |
--json | Output in JSON format |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--fix-dependencies | Fix incompatible dependency versions |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo update
Option | Description |
---|---|
--npm | Use npm to install dependencies. (default when package-lock.json exists) |
--yarn | Use Yarn to install dependencies. (default when yarn.lock exists) |
Option | Description |
---|---|
-f, --force | Allows replacing existing files |
--offline | Allows this command to run while offline |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--no-install | Skip installing npm packages and CocoaPods. |
--npm | Use npm to install dependencies. (default when Yarn is not installed) |
-p, --platform [all\|android\|ios] | Platforms to sync: ios, android, all. Default: all |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--no-install | Skip installing npm packages and CocoaPods. |
--clean | Delete the native folders and regenerate them before applying changes |
--npm | Use npm to install dependencies. (default when Yarn is not installed) |
--template [template] | Project template to clone from. File path pointing to a local tar file or a github repo |
-p, --platform [all\|android\|ios] | Platforms to sync: ios, android, all. Default: all |
--skip-dependency-update [dependencies] | Preserves versions of listed packages in package.json (comma separated list) |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo p
Option | Description |
---|---|
-q, --quiet | Suppress verbose output from the Metro bundler. |
-s, --send-to [dest] | A phone number or email address to send a link to |
-c, --clear | Clear the Metro bundler cache |
-t, --target [managed\|bare] | Target environment for which this publish is intended. Options are managed or bare . |
--max-workers [num] | Maximum number of tasks to allow Metro to spawn. |
--release-channel [name] | The release channel to publish to. Default is 'default'. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo ps
Option | Description |
---|---|
-c, --release-channel [name] | The channel to set the published release. (Required) |
-p, --publish-id [publish-id] | The id of the published release to serve from the channel. (Required) |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo pr
Option | Description |
---|---|
--channel-id [channel-id] | This flag is deprecated. |
-c, --release-channel [name] | The channel to rollback from. (Required) |
-s, --sdk-version [version] | The sdk version to rollback. (Required) |
-p, --platform [android\|ios] | The platform to rollback. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo ph
Option | Description |
---|---|
-c, --release-channel [name] | Filter by release channel. If this flag is not included, the most recent publications will be shown. |
--count [number-of-logs] | Number of logs to view, maximum 100, default 5. |
-p, --platform [android\|ios] | Filter by platform, android or ios. Defaults to both platforms. |
-s, --sdk-version [version] | Filter by SDK version e.g. 35.0.0 |
-r, --raw | Produce some raw output. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo pd
Option | Description |
---|---|
--publish-id [publish-id] | Publication id. (Required) |
-r, --raw | Produce some raw output. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
-c, --clear | Clear all cached build files and assets. |
--no-pwa | Prevent webpack from generating the manifest.json and injecting meta into the index.html head. |
-d, --dev | Turns dev flag on before bundling |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
-p --platform [android\|ios] | Platform: [android|ios] |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--api-key [api-key] | Server API key for FCM. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo u
Option | Description |
---|---|
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a development build |
-a, --android | Opens your app in Expo Go on a connected Android device |
-i, --ios | Opens your app in Expo Go in a currently running iOS simulator on your computer |
-w, --web | Opens your app in a web browser |
-m, --host [mode] | lan (default), tunnel, localhost. Type of host to use. "tunnel" allows you to view your link on other networks |
--tunnel | Same as --host tunnel |
--lan | Same as --host lan |
--localhost | Same as --host localhost |
--offline | Allows this command to run while offline |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps) |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps) |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--url [url] | URL to request. (Required) |
--event [event-type] | Event type that triggers the webhook. [build] (Required) |
--secret [secret] | Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--id [id] | ID of the webhook to remove. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--id [id] | ID of the webhook to update. |
--url [url] | URL the webhook will request. |
--event [event-type] | Event type that triggers the webhook. [build] |
--secret [secret] | Secret used to create a hash signature of the request payload, provided in the 'Expo-Signature' header. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo bi
Option | Description |
---|---|
-c, --clear-credentials | Clear all credentials stored on Expo servers. |
--clear-dist-cert | Remove Distribution Certificate stored on Expo servers. |
--clear-push-key | Remove Push Notifications Key stored on Expo servers. |
--clear-push-cert | Remove Push Notifications Certificate stored on Expo servers. Use of Push Notifications Certificates is deprecated. |
--clear-provisioning-profile | Remove Provisioning Profile stored on Expo servers. |
-r --revoke-credentials | Revoke credentials on developer.apple.com, select appropriate using --clear-* options. |
--apple-id [login] | Apple ID username (please also set the Apple ID password as EXPO_APPLE_PASSWORD environment variable). |
-t --type [archive\|simulator] | Type of build: [archive|simulator]. |
--release-channel [name] | Pull from specified release channel. |
--no-publish | Disable automatic publishing before building. |
--no-wait | Exit immediately after scheduling build. |
--team-id [apple-teamId] | Apple Team ID. |
--dist-p12-path [path] | Path to your Distribution Certificate P12 (set password as EXPO_IOS_DIST_P12_PASSWORD environment variable). |
--push-id [push-id] | Push Key ID (ex: 123AB4C56D). |
--push-p8-path [path] | Path to your Push Key .p8 file. |
--provisioning-profile-path [path] | Path to your Provisioning Profile. |
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps). |
--skip-credentials-check | Skip checking credentials. |
--skip-workflow-check | Skip warning about build service bare workflow limitations. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo ba
Option | Description |
---|---|
-c, --clear-credentials | Clear stored credentials. |
--release-channel [name] | Pull from specified release channel. |
--no-publish | Disable automatic publishing before building. |
--no-wait | Exit immediately after triggering build. |
--keystore-path [path] | Path to your Keystore: *.jks. |
--keystore-alias [alias] | Keystore Alias |
--generate-keystore | [deprecated] Generate Keystore if one does not exist |
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps) |
--skip-workflow-check | Skip warning about build service bare workflow limitations. |
-t --type [app-bundle\|apk] | Type of build: [app-bundle|apk]. |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo bs
Option | Description |
---|---|
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps). |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo ua
Option | Description |
---|---|
--verbose | Migrate to eas submit --verbose |
--latest | Migrate to eas submit --latest |
--id [id] | Migrate to eas submit --id [id] |
--path [path] | Migrate to eas submit --path [path] |
--url [url] | Migrate to eas submit --url [url] |
--android-package [android-package] | Migrate to eas submit (android-package is auto inferred) |
--type [archive-type] | Migrate to eas submit (type is auto inferred) |
--key [key] | Migrate to eas.json's serviceAccountKeyPath property |
--track [track] | Migrate to eas.json's track property |
--release-status [release-status] | Migrate to eas.json's releaseStatus property |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
expo ui
Option | Description |
---|---|
--verbose | Migrate to eas submit --verbose |
--latest | Migrate to eas submit --latest |
--id [id] | Migrate to eas submit --id [id] |
--path [path] | Migrate to eas submit --path [path] |
--url [url] | Migrate to eas submit --url [url] |
--apple-id [apple-id] | Migrate to eas.json's appleId property |
--itc-team-id [itc-team-id] | Migrate to eas.json's appleTeamId property |
--app-name [app-name] | Migrate to eas.json's appName property |
--company-name [company-name] | Migrate to eas.json's companyName property |
--sku [sku] | Migrate to eas.json's sku property |
--language [language] | Migrate to eas.json's language property |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |
Option | Description |
---|---|
--apple-id [login] | Apple ID username (please also set the Apple ID password as EXPO_APPLE_PASSWORD environment variable). |
--config [file] | Deprecated: Use app.config.js to switch config files instead. |