If you’re starting with React Native (Expo Bare + TypeScript) on macOS, you need a complete setup for Android and iOS development. This guide covers everything from installing prerequisites to running the app on simulators.
👉 Reference Repo: rn-expo-typescript-bare-template
🔧 System Setup
1. Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. Install Node & NPM
brew install node
3. Install Git
brew install git
Set up your Git identity:
👉 Git username and email setup
4. Install Watchman
brew install watchman
5. Install Java JDK (17)
brew install openjdk@17
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
Add to your ~/.zshrc or ~/.bashrc:
export JAVA_HOME=$(/usr/libexec/java_home -v17)
export PATH=$JAVA_HOME/bin:$PATH
source ~/.zshrc
6. Install CocoaPods (for iOS)
brew install cocoapods
7. Install Expo CLI
npm install -g expo-cli
8. Install VS Code
📱 Android & iOS Setup
Android Studio
👉 Download Android Studio
- Android Studio
- Android Studio: Guide
Open Android Studio
Install SDKs & Emulator
Update local.properties inside
/androidfolder with your SDK path:
sdk.dir=/Users/username/Library/Android/sdk
Xcode (for iOS)
Switch versions if you maintain multiple Xcodes:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s ~/Downloads/Xcode.app/Contents/Developer
Open .xcworkspace in Xcode to build for iOS.
📂 Project Setup
1. Clone the project:
git clone <your-repo-url>
cd rn-expo-typescript-bare-template
2. Install dependencies:
npm install
3. For react-native-snap-carousel issue, import ViewPropTypes manually:
import { ViewPropTypes } from 'deprecated-react-native-prop-types';
Update inside:
react-native-snap-carousel/src/carouselpagination,paginationDot,parallaxImage
4. iOS setup:
cd ios
pod install
cd ..
5. Run the app:
npm run ios
npm run android
✅ Wrap-Up
You now have a fully functional React Native (Expo Bare + TypeScript) setup on macOS 🚀.
This covers Node, JDK, Android Studio, Xcode, Git, Expo CLI, Pods, VS Code, and extra dev tools.
📌 Reference Repo: rn-expo-typescript-bare-template
✍️ Written by Dainy Jose — React Native Mobile Application Developer with 3+ years of experience building cross-platform mobile apps using React Native (Expo, TypeScript, Redux).
Currently expanding backend knowledge through the MERN Stack (MongoDB, Express.js, React.js, Node.js) to create more efficient, full-stack mobile experiences.
💼 Tech Stack: React Native · TypeScript · Redux · Expo · Firebase · Node.js · Express.js · MongoDB · REST API · JWT · Jest · Google Maps · Razorpay · PayU · Agile · SDLC · Git · Bitbucket · Jira
Top comments (0)