1---
2title: Installation
3description: Learn how to get started creating a new Expo project quickly and easily using Expo CLI and Expo Go.
4---
5
6import { Terminal } from '~/ui/components/Snippet';
7import { BoxLink } from '~/ui/components/BoxLink';
8import { ExpoGoLogo } from '@expo/styleguide';
9
10To develop applications with Expo, you will want to start with two tools:
11
12- [Expo CLI](#expo-cli) a command-line tool to serve your project
13- [Expo Go](#expo-go-app-for-android-and-ios) a mobile client app to open the project on Android and iOS platforms.
14
15Additionally, you can use any web browser to run the project on the web.
16
17> **info** You don't need macOS to build an iOS app with [EAS](/eas). You only need an iOS device to run [development builds](/development/introduction). Windows, Linux, and macOS are all supported as your development machine.
18
19## Expo CLI
20
21[Expo CLI](/workflow/expo-cli) is a command-line tool that is the primary interface between a developer and other Expo tools. It is used for different tasks in the development life cycle of your project such as serving the project in development, viewing logs, opening the app on an emulator or a physical device, and so on.
22
23### Requirements
24
25To use Expo CLI, you need to have the following tools installed on your developer machine:
26
27- [Node.js LTS release](https://nodejs.org/en/) - Only Node.js LTS releases (even-numbered) are recommended. 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.
28- [Git](https://git-scm.com)
29- [Watchman](https://facebook.github.io/watchman/docs/install#buildinstall) for macOS or Linux users.
30
31### Recommended tools
32
33- [Yarn](https://classic.yarnpkg.com/en/docs/install)
34- [VS Code Editor](https://code.visualstudio.com/download)
35  - [VS Code Expo Extension](https://marketplace.visualstudio.com/items?itemName=byCedric.vscode-expo) for Expo config debugging and autocomplete.
36- [PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-windows), Bash via WSL, or the VS Code terminal for developers who prefer Windows.
37
38### Use Expo CLI
39
40Expo CLI is part of the `expo` package, and you can use it by leveraging `npx` — a Node.js package runner. **No external installation is required**.
41
42For example, to see a list of available commands in Expo CLI, open the terminal on your development machine and run the following command:
43
44<Terminal cmd={['# See a list of available commands in Expo CLI', '$ npx expo -h']} />
45
46Now, run the following command to check which Expo account is currently authenticated on your machine:
47
48<Terminal cmd={['$ npx expo whoami']} />
49
50You will see a **Not logged in** message since you are not logged in to an Expo account.
51You do not need an account to start and can proceed further with your project. However, if you want to register a new Expo account, run the following command to register a new account:
52
53<Terminal cmd={['$ npx expo register']} />
54
55If you already have an Expo account, you can log in to it by running the command:
56
57<Terminal cmd={['$ npx expo login']} />
58
59## Next step
60
61<BoxLink
62  title="Expo Go"
63  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."
64  Icon={ExpoGoLogo}
65  href="/get-started/expo-go"
66/>
67