expo: The legacy expo-cli does not support Node +17. Migrate to the versioned Expo CLI (npx expo).
Summary
I installed an expo project, ran all the necessary commands, npm install --global expo-cli then npm install and finally went ahead to use the expo start command expecting my project to start and show me a dev preview on localhost; however, I instead received an error message as illustrated herein.

What platform(s) does this occur on?
Android, Web
SDK Version
44.0.0
Environment
expo-env-info 1.0.5 environment info: System: OS: Windows 10 10.0.22000 Binaries: Node: 18.13.0 - C:\Program Files\nodejs\node.EXE Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD npm: 8.19.3 - C:\Program Files\nodejs\npm.CMD SDKs: Android SDK: API Levels: 28, 29, 30, 31, 32 Build Tools: 29.0.2, 30.0.2, 30.0.3, 32.0.0 System Images: android-23 | Google APIs Intel x86 Atom, android-24 | Google APIs Intel x86 Atom_64, android-25 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom_64, android-31 | Intel x86 Atom_64, android-31 | Google APIs Intel x86 Atom_64 Android NDK: 23.0.7344513-beta4 npmPackages: expo: ~44.0.0 => 44.0.3 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.3 => 0.64.3 react-native-web: 0.17.1 => 0.17.1 Expo Workflow: managed
Minimal reproducible example
minimalcode.zip
I have attached a reproducible zipped folder,
Download, Run the global installation command of expo, npm install --global expo-cli then run Npm install
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 10
- Comments: 19
I completely failed to run
npx run expo.It displays the same error over again. is there an option to migrate to sdk 46?try downgrading the node version to 16 run this on your terminal " curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash " then use node version manager (nvm) to downgrade the current node run this code " nvm install 16.17.0 " after you can now use “expo start” in your app.
This command is being executed with the global Expo CLI. Learn more: https://blog.expo.dev/the-new-expo-cli-f4250d8e3421 To use the local CLI instead (recommended in SDK 46 and higher), run: › npx expo start
In macOS use can use brew to install nvm and use nvm to downgrade node version. You also switch between version. Try this: https://tecadmin.net/install-nvm-macos-with-homebrew/
Uninstall your node version and install node@16. On this link https://nodejs.org/download/release/v16.20.0/
@larrykings very helpful. Thanks a lot!
hello @larrykings I downgraded my node version and successfully was able to run
expo start. Thanks for help rendered.