We are very excited to announce the beta release of our new versioned Expo CLI that is installed locally in your project instead of globally on your computer.
Versioning the CLI offers the following benefits:
npx expo installs and updates substantially faster than expo-cli.
Self contained dependencies make caching in CI easier.
Enable the environment variable EXPO_USE_BETA_CLI=1 then run npx expo -h to view the CLI commands.
Features to test:
npx expo start — Starting the development server for your app.npx expo prebuild — Generating native code.npx expo install — Install versioned packages in your project. This command also comes with the new --check and --fix flags. You can even fix individual packages like npx expo install --fix react-native expo-sms.npx expo export — Bundle the JS and assets for hosting with EAS Update. This only supports the new format (expo export --experimental-bundle in the global CLI).npx expo run:android — Build Android projects locally. Now with the new --no-build-cache flag for running clean builds.npx expo config — View the project config for your app.login, logout, register, whoami.Rewriting the CLI is a very large project, not all features are complete. Please report bugs on the expo/expo repo. You can continue to use the stable expo-cli for the foreseeable future, we will be freezing feature additions to ensure it remains stable. All new features will be added to the versioned CLI.
If for some reason you want to fully decouple the beta CLI from your project, you can resolve the 0.0.0 version which is blank.
{"resolutions": {"@expo/cli": "0.0.0"}}
In the coming two quarters, we will also be releasing:
npx expo run:ios -- Build iOS projects locally.npx expo customize -- Generate static project files (replacing expo customize:web ).expo build:web).expo init).expo upgrade).If you are still using the deprecated expo build or expo upload commands, please migrate to eas-cli.