- Quick start: Just Node.js and a phone → Use Expo Go
- Full setup: Native builds → Install platform-specific tools
System Requirements
Required for All
- Node.js 18 or newer
- npm, yarn, or pnpm
- Code editor (VS Code recommended)
For Native Builds
- macOS (for iOS development)
- Xcode 15+ (iOS)
- Android Studio (Android)
- CocoaPods (iOS)
Step 1: Install Node.js
Expo requires Node.js version 18 or newer.- macOS
- Windows
- Linux
Using Homebrew (recommended):Or download from nodejs.org:Visit nodejs.org and download the LTS version.Verify installation:
The Expo SDK requires Node.js 22.14.0 as specified in the monorepo, but Node 18+ is generally supported for app development.
Step 2: Install Expo CLI
Expo CLI is included with theexpo package. You don’t need to install it globally!
Why no global install?
Why no global install?
The
@expo/cli package is versioned with the Expo SDK, ensuring compatibility. Running npx expo uses your project’s local version automatically.Benefits:- No version conflicts between projects
- Automatic updates with SDK upgrades
- Faster CI/CD (no global install needed)
Verify CLI Installation
Step 3: Platform-Specific Setup
- iOS Development
- Android Development
- Web Development
- Expo Go (No Build)
Install Xcode
- Install Xcode from the Mac App Store (15+ required)
- Open Xcode and accept the license agreement
- Install command line tools:
Install CocoaPods
CocoaPods manages iOS native dependencies:Verify iOS Setup
Set Up iOS Simulator
Open the iOS Simulator:Step 4: Editor Setup
Visual Studio Code (Recommended)
Install VS Code Extensions:- Open VS Code
- Install these extensions:
- ES7+ React/Redux/React-Native snippets
- React Native Tools
- Prettier - Code formatter
- ESLint
.vscode/settings.json in your project:
.vscode/settings.json
Step 5: Verify Installation
Create a test project to verify everything works:If your app opens successfully on any platform, your setup is complete!
Troubleshooting
iOS: 'command line tools are not installed'
iOS: 'command line tools are not installed'
Install Xcode command line tools:If that doesn’t work, reset the path:
Android: 'ANDROID_HOME not set'
Android: 'ANDROID_HOME not set'
Add to your shell profile:Reload:
~/.zshrc
iOS: 'Unable to boot simulator'
iOS: 'Unable to boot simulator'
Reset iOS Simulator:
- Open Simulator app
- Go to Device → Erase All Content and Settings
- Try again
Android: 'No emulators found'
Android: 'No emulators found'
Create a new emulator in Android Studio:
- Open Android Studio
- Tools → Device Manager
- Click Create Device
- Follow the wizard
CocoaPods: 'pod install' fails
CocoaPods: 'pod install' fails
Update CocoaPods and try again:
Node version issues
Node version issues
Use a Node version manager:nvm (Mac/Linux):nvm-windows:Download from github.com/coreybutler/nvm-windows
Package Manager Choice
Expo works with npm, yarn, or pnpm:Once you choose a package manager, stick with it for the entire project. Don’t mix them!
Next Steps
Quick Start
Create your first app in 5 minutes
Core Concepts
Learn how Expo works
Tutorial
Build a complete app step-by-step
Development Builds
Set up for custom native code