1--- 2title: Installation 3description: Learn how to get started creating a new universal app with Expo. 4--- 5 6import { Terminal } from '~/ui/components/Snippet'; 7import { BoxLink } from '~/ui/components/BoxLink'; 8import { ExpoGoLogo } from '@expo/styleguide'; 9import { CALLOUT } from '~/ui/components/Text'; 10import { BookOpen02Icon } from '@expo/styleguide-icons'; 11 12To develop applications with Expo, make sure to check out the following requirements and recommended tools. 13 14## Requirements 15 16To use Expo, you need to have the following tools installed on your machine: 17 18- [Node.js LTS release](https://nodejs.org/en/) - Only Node.js LTS releases (even-numbered) are recommended. 19 <CALLOUT theme="secondary">As Node.js [officially states](https://nodejs.org/en/about/releases/), "Production applications should only use Active LTS or Maintenance LTS releases". You can install Node.js using a version management tool (such as `nvm` or `volta` or any other of your choice) to switch between different Node.js versions.</CALLOUT> 20- [Git](https://git-scm.com) for source control. 21- [Watchman](https://facebook.github.io/watchman/docs/install#buildinstall) (for Linux or macOS users). 22 23## Get started 24 25After installing Node.js, you can use `npx` to create a new app. 26 27<Terminal cmd={['$ npx create-expo-app --template']} /> 28 29<BoxLink 30 title="Create a new project" 31 description="Learn how to create a new Expo project and run it on your device." 32 href="/get-started/create-a-project" 33 Icon={BookOpen02Icon} 34/> 35 36## Expo CLI 37 38[Expo CLI](/more/expo-cli/) is part of the `expo` package, and you can use it by leveraging `npx` — a Node.js package runner. To start your app, open the terminal on your development machine and run the `npx expo` command: 39 40<Terminal 41 cmd={[ 42 '# Start the development server', 43 '$ npx expo', 44 '', 45 '# See a list of commands in Expo CLI', 46 '$ npx expo --help', 47 ]} 48 cmdCopy="npx expo" 49/> 50 51> **info** You don't need macOS to build an iOS app. You only need an iOS device to run a development build. Learn what are [development builds](/develop/development-builds/introduction/) and how you can leverage them to build your projects. 52 53## Recommended tools 54 55- [Yarn](https://classic.yarnpkg.com/en/docs/install) for faster and more reliable dependency management. Use this instead of `npm` and `npx`. 56- [VS Code Editor](https://code.visualstudio.com/download) and [VS Code Expo Extension](https://marketplace.visualstudio.com/items?itemName=expo.vscode-expo-tools) for easier debugging and app config autocomplete. 57- [PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-windows) (the default terminal in VS Code) or Bash via WSL for developers who prefer Windows. 58 59If you are using Yarn, you can bootstrap a new app using the following command: 60 61<Terminal cmd={['$ yarn create expo']} /> 62 63## Next step 64 65<BoxLink 66 title="Expo Go" 67 description="Now that Expo CLI is working, in the next step, let's learn about one of the fastest ways to test your project using Expo Go." 68 Icon={ExpoGoLogo} 69 href="/get-started/expo-go" 70/> 71