DEV Community

Cover image for A Personal Guide to Setting Up React Native on Mac: My Journey
Tech Nexa
Tech Nexa

Posted on

A Personal Guide to Setting Up React Native on Mac: My Journey

Hello, future teammate!

If you're reading this, I bet you're just as excited as I was to start building amazing mobile apps with React Native. It's an awesome choice! I've been exactly where you are now: thrilled, but also a little overwhelmed by the sheer number of tools you need to install.

This isn't another dry, technical document. This is my journal, my "lessons learned the hard way," shared with the hope of making your path a little smoother. Let's get started together!

Step 1: Gearing Up with the Right Tools

Just like a skilled carpenter needs a good set of chisels and a sturdy workbench, we need a solid foundation of software tools.

  1. Homebrew - Your Ultimate Butler:

Think of Homebrew as your personal tech butler. Instead of hunting for download links on countless websites, you just type a command, and Homebrew fetches and installs everything for you. If you haven't met it yet, open your Terminal and summon it with this spell:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Enter fullscreen mode Exit fullscreen mode
  1. Node.js & Watchman - The Heart and the Pulse:
  • Node.js is the 'heart' that pumps life into your JavaScript code. It's the environment where everything runs.
  • Watchman is the 'pulse.' It's a little tool from Facebook that keeps an eye on your files. The moment you save a change, Watchman sees it and tells your app to reload instantly. This is the magic behind "Fast Refresh."

Let's get them both with our new butler, Homebrew:

brew install node
brew install watchman
Enter fullscreen mode Exit fullscreen mode

Step 2: The iOS Adventure

To build apps for iPhones and iPads, we need to enter Apple's world. Xcode is the key.

1.Install Xcode: The best place to get this is the Mac App Store. A friendly warning: it's a huge file. This is a perfect time to go make a fresh cup of coffee (or two). It'll take a while.

2.Set Up Command Line Tools: Once Xcode is installed, open it up. Go to Xcode > Settings > Locations. In the dropdown for "Command Line Tools," make sure a version is selected. This is like telling your Mac, "Hey, I've got all these cool new tools from Xcode, and you're allowed to use them from the Terminal."

3.CocoaPods - The Librarian:
Almost every iOS project uses extra bits of code from other developers, called libraries. CocoaPods is the friendly librarian that manages all of these for you. Let's install it:

sudo gem install cocoapods
Enter fullscreen mode Exit fullscreen mode

Step 3: The Android Quest

Android setup can feel like a side quest with a few more steps, but trust me, the feeling of seeing your app run on both platforms is worth it.

1.Java Development Kit (JDK) - The Lingua Franca:
Android's native language is Java/Kotlin, so we need a JDK to help React Native talk to it. Let's have Homebrew handle this for us:

brew install --cask zulu@17
Enter fullscreen mode Exit fullscreen mode

After the JDK installation, add or update your JAVA_HOME environment variable in ~/.zshrc (or in ~/.bash_profile).

If you used above steps, JDK will likely be located at /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
Enter fullscreen mode Exit fullscreen mode

2.Android Studio - The Command Center:
Download and install Android Studio from Google's website. During the setup, choose "Custom" installation and make sure these are checked:

  • Android SDK
  • Android SDK Platform
  • Android Virtual Device (this lets you create phone emulators)
  • Official Docs: Android Studio Website

3.Teaching Your Terminal the Way - Environment Variables: **
This is the step where many people get stuck, but it's not as scary as it looks. We just need to leave a note for our Terminal telling it where to find all the Android tools.
Open your **~/.zshrc
file (it's a hidden file in your home directory) and add these lines at the bottom:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/platform-tools
Enter fullscreen mode Exit fullscreen mode

After you save it, close and reopen your Terminal. This simple step makes sure that when you type a command like emulator, your computer knows exactly where to look.

Step 4: The "It's Alive!" Magic Moment

Alright, the stage is set. It's time to bring your first creation to life.

1.Create Your Project:
In your Terminal, run this command. MyFirstApp can be whatever you want to name your project.

npx @react-native-community/cli@latest init MyFirstApp
Enter fullscreen mode Exit fullscreen mode

2.Step Inside:

cd MyFirstApp
Enter fullscreen mode Exit fullscreen mode

2.1.Run on IOS:

npm run ios

This will automatically boot up the iOS Simulator and you should see your app pop up. It's a magical feeling the first time!

2.2*Run on Android:*
Run on Android:
First, open Android Studio and start an emulator from the AVD Manager. Then, in your terminal, run:

npm run android

And voilà! The same app, running on a completely different system.

Don't Panic! We've All Been There (Troubleshooting)

If you hit a roadblock, take a deep breath. Every single developer has faced these errors. You're not alone. Here are some common hurdles:

  • The Problem: pod install fails on your shiny new M1/M2/M3 Mac.
  • The Story: Your Mac's chip speaks a new language (ARM), but some old tools still speak the old one (x86). Sometimes they get lost in translation.
  • The Fix: Tell your Mac to use its built-in translator, Rosetta.
cd ios
arch -x86_64 pod install
Enter fullscreen mode Exit fullscreen mode
  • The Problem: Android build complains it "can't find SDK location."
  • The Story: The message you left in ~/.zshrc got lost, or you forgot to restart the Terminal.
  • The Fix: Double-check the path in ~/.zshrc. If it's still not working, you can leave a more direct note inside the project. Create a file at android/local.properties and put this inside (remember to change YOUR_USERNAME!):
sdk.dir = /Users/YOUR_USERNAME/Library/Android/sdk
Enter fullscreen mode Exit fullscreen mode

Your Journey Begins Now

And there you have it! You've successfully built your launchpad. The road ahead is filled with exciting challenges, learning, and the incredible joy of creating something from scratch. For your next steps, the official React Native documentation is your best friend.

Dive Deeper: React Native Official Documentation

Welcome to the club. Happy coding!

Top comments (0)