This is a monorepo for Expo project using pnpm + turborepo.
npm i -g pnpm
npm i -g turbo- Download XCode from AppStore
- Link Cocoapods
brew install cocoapods
# Below is optional if you ran into error above
brew link --overwrite cocoapods
- Download JDK Zulu
brew install --cask zulu@17
- Setup JAVA_HOME
# I just comment out my current one
export JAVA_HOME=/Users/eileen.yau/Library/Java/JavaVirtualMachines/semeru-21.0.3/Contents/Home
export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
- Optional Android Studio
Swap Gradle JDK with zulu-17 in
Execution, Deployment > Build Tools > Gradle
- Install dependencies
pnpm i- Build a development client
This app does not work with Expo Go since some custom native modules are installed, you will have to build a development client.
cd apps/mobile
# this can take a while
pnpm run ios
# or android
pnpm run android- Start the both web and mobile
turbo devYou will be able to run both web and mobile together. Notice the mobile one
is in interactive mode. So you could press Enter to enter interactive mode.
If your turbo output is showing the web#dev, you could use up / down arrow to
switch panel.
I recommend use iOS simulator to test things, so press i in the console.
To learn more about developing your project with Expo, look at the following resources:
- Expo documentation: Learn fundamentals, or go into advanced topics with our guides.
- Learn Expo tutorial: Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
Join our community of developers creating universal apps.
- Expo on GitHub: View our open source platform and contribute.
- Discord community: Chat with Expo users and ask questions.