apk
and ipa
files) to be uploaded to the App Store and Play Storenpm 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]
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 |
---|---|
-p, --public-url [url] | The public url that will host the static files. (Required) |
--output-dir [dir] | The directory to export the static files to. Default directory is dist |
-a, --asset-url [url] | The absolute or relative url that will host the asset files. Default is './assets', which will be resolved against the public-url. |
-d, --dump-assetmap | Dump the asset map for further processing. |
--dev | Configure static files for developing locally using a non-https server |
-f, --force | Overwrite files in output directory without prompting for confirmation |
-s, --dump-sourcemap | Dump the source map for debugging the JS bundle. |
-q, --quiet | Suppress verbose output. |
-t, --target [env] | Target environment for which this export is intended. Options are managed or bare . |
--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. |
--config [file] | Specify a path to app.json or app.config.js |
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-typescript") 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) |
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 [env] | 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 [release channel] | The release channel to publish to. Default is 'default'. |
--config [file] | Specify a path to app.json or app.config.js |
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 dev client |
-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] | Specify a path to app.json or app.config.js |
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. |
--dev | Turn development mode on |
--no-dev | Turn development mode off |
--minify | Minify code |
--no-minify | Do not minify code |
--https | To start webpack with https protocol |
--no-https | To start webpack with http protocol |
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a dev client |
-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] | Specify a path to app.json or app.config.js |
expo web
Option | Description |
---|---|
--dev | Turn development mode on |
--no-dev | Turn development mode off |
--minify | Minify code |
--no-minify | Do not minify code |
--https | To start webpack with https protocol |
--no-https | To start webpack with http protocol |
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a dev client |
-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] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--latest | Install the latest version of Expo Go, ignoring the current project version. |
Option | Description |
---|---|
--latest | Install the latest version of Expo Go, ignore the current project version. |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
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) |
expo ph
Option | Description |
---|---|
-c, --release-channel [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 [ios | android]` |
-s, --sdk-version [version] | Filter by SDK version e.g. 35.0.0 |
-r, --raw | Produce some raw output. |
--config [file] | Specify a path to app.json or app.config.js |
expo pd
Option | Description |
---|---|
--publish-id [publish-id] | Publication id. (Required) |
-r, --raw | Produce some raw output. |
--config [file] | Specify a path to app.json or app.config.js |
expo ps
Option | Description |
---|---|
-c, --release-channel [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] | Specify a path to app.json or app.config.js |
expo pr
Option | Description |
---|---|
--channel-id [channel-id] | This flag is deprecated. |
-c, --release-channel [channel-name] | The channel to rollback from. (Required) |
-s, --sdk-version [version] | The sdk version to rollback. (Required) |
`-p, --platform [ios | android]` |
--config [file] | Specify a path to app.json or app.config.js |
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 [build] | Type of build: [archive |
--release-channel [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 [dist.p12] | 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 [push.p8] | Path to your Push Key .p8 file. |
--provisioning-profile-path [.mobileprovision] | 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] | Specify a path to app.json or app.config.js |
expo ba
Option | Description |
---|---|
-c, --clear-credentials | Clear stored credentials. |
--release-channel [channel-name] | Pull from specified release channel. |
--no-publish | Disable automatic publishing before building. |
--no-wait | Exit immediately after triggering build. |
--keystore-path [app.jks] | Path to your Keystore. |
--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 [build] | Type of build: [app-bundle |
--config [file] | Specify a path to app.json or app.config.js |
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] | Specify a path to app.json or app.config.js |
expo bs
Option | Description |
---|---|
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps). |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
-p --platform [platform] | Platform: [android |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--api-key [api-key] | Server API key for FCM. |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
expo u
Option | Description |
---|---|
-w, --web | Return the URL of the web app |
--dev-client | Experimental: Starts the bundler for use with the expo-development-client |
--scheme [scheme] | Custom URI protocol to use with a dev client |
-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] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps) |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps) |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--url [url] | URL to request. (Required) |
--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] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--id [id] | ID of the webhook to remove. |
--config [file] | Specify a path to app.json or app.config.js |
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] | Specify a path to app.json or app.config.js |
expo ua
Option | Description |
---|---|
--latest | upload the latest build |
--id [id] | id of the build to upload |
--path [path] | path to the .apk/.aab file |
--url [url] | app archive url |
--key [key] | path to the JSON key used to authenticate with Google Play |
--android-package [android-package] | Android package name (using expo.android.package from app.json by default) |
--type [archive-type] | archive type: apk, aab |
--track [track] | the track of the application to use, choose from: production, beta, alpha, internal, rollout |
--release-status [release-status] | release status (used when uploading new apks/aabs), choose from: completed, draft, halted, inProgress |
--use-submission-service | Experimental: Use Submission Service for uploading your app. The upload process will happen on Expo servers. |
--verbose | Always print logs from Submission Service |
--config [file] | Specify a path to app.json or app.config.js |
expo ui
Option | Description |
---|---|
--latest | upload the latest build (default) |
--id [id] | id of the build to upload |
--path [path] | path to the .ipa file |
--url [url] | app archive url |
--apple-id [apple-id] | your Apple ID username (you can also set EXPO_APPLE_ID env variable) |
--itc-team-id [itc-team-id] | App Store Connect Team ID - this option is deprecated, the proper ID is resolved automatically |
--apple-id-password [apple-id-password] | your Apple ID password (you can also set EXPO_APPLE_PASSWORD env variable) |
--app-name [app-name] | the name of your app as it will appear on the App Store, this can't be longer than 30 characters (default: expo.name from app.json) |
--company-name [company-name] | the name of your company, needed only for the first upload of any app to App Store |
--sku [sku] | a unique ID for your app that is not visible on the App Store, will be generated unless provided |
--language [language] | primary language (e.g. English, German; run expo upload:ios --help to see the list of available languages) |
--public-url [url] | The URL of an externally hosted manifest (for self-hosted apps) |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
-f, --force | Allows replacing existing files |
--offline | Allows this command to run while offline |
Option | Description |
---|---|
--force | Skip legacy eject warnings. |
--no-install | Skip installing npm packages and CocoaPods. |
--npm | Use npm to install dependencies. (default when Yarn is not installed) |
--config [file] | Specify a path to app.json or app.config.js |
Option | Description |
---|---|
--apple-id [login] | Apple ID username (please also set the Apple ID password as EXPO_APPLE_PASSWORD environment variable). |
--config [file] | Specify a path to app.json or app.config.js |
expo build:ios --help
will provide help information relevant to the expo build:ios
command.Option | Description |
---|---|
--help , -h | Reveals usage information. |
-o , --output [format] | The output format [pretty or raw]. The default is pretty. |
--non-interactive | Fails the command if an interactive prompt would be required to continue. Enabled by default if stdin is not a TTY. |