Prerequisites
Install and verify these tools before you add the framework to a project. Each section has download buttons for your operating system and copyable install commands, so you don't need to search anywhere else. Prefer one list? Open Downloads & tools.
All platforms
| Tool | Version | Why it's needed | Official guide |
|---|---|---|---|
| Ruby | 3.4.x (≥ 3.2) | fastlane is a Ruby gem; the Firebase plugin requires Ruby ≥ 3.2 | ruby-lang.org |
| Bundler | ≥ 2.4, < 5 | Pins the exact fastlane version through Gemfile.lock | bundler.io |
| Git | any recent | Release notes are read from git history; branch checks for production | git-scm.com |
| Node.js | LTS | React Native projects only (npm ci before building) | nodejs.org |
fastlane is a Ruby gem. DevKit compiles gems with native extensions on Windows.
winget install RubyInstallerTeam.RubyWithDevKit.3.4ruby --versionNever use the macOS system Ruby; rbenv installs a private Ruby per project.
brew install rbenv ruby-build && rbenv install 3.4.1ruby --versionPins the exact fastlane version through Gemfile.lock.
gem install bundlerbundle --versionRelease notes are built from git history; production lanes check the branch.
winget install Git.Gitgit --versionReact Native's Gradle/Xcode build runs Node to bundle JavaScript; also needed for the Firebase CLI.
winget install OpenJS.NodeJS.LTSnode --versionPrefer step-by-step Ruby setup? See Install Ruby (Windows) or Install Ruby (macOS).
Android
| Requirement | Notes | Official guide |
|---|---|---|
| JDK 17 | Required by current Android Gradle Plugin versions. Set JAVA_HOME. | Eclipse Temurin |
| Android SDK + build tools | Installed with Android Studio; set ANDROID_HOME. | Android Studio |
A working android/gradlew | Must build from the command line: ./gradlew assembleRelease. | Build from the command line |
| Firebase project with the Android app registered | The package name must match applicationId exactly. | Add Firebase to Android |
| Firebase CLI | Needed once, to create FIREBASE_TOKEN (npm i -g firebase-tools). | Firebase CLI |
Gradle needs it to build Android apps (React Native 0.73+ requires JDK 17).
winget install EclipseAdoptium.Temurin.17.JDKjava -versionInstalls the Android SDK, build tools and platform tools used by Gradle.
winget install Google.AndroidStudioadb --versionRun once to create FIREBASE_TOKEN (“firebase login:ci”).
npm install -g firebase-toolsfirebase --versioniOS
| Requirement | Notes | Official guide |
|---|---|---|
| macOS with Xcode and command-line tools | Install Xcode from the App Store, then run xcode-select --install. | Xcode |
| CocoaPods | It's installed through the Gemfile, and the framework runs pod install itself. | CocoaPods guide |
| Apple Developer Program membership | Required to sign and upload to TestFlight. | Apple Developer Program |
| App record in App Store Connect | Create the app with the same bundle identifier. | Add a new app |
App Store Connect API key (.p8, Key ID, Issuer ID) | Used for signing, build numbers and upload, so no 2FA prompts. | Creating API keys |
Builds and signs the iOS app. macOS only.
xcode-select --installxcodebuild -versionThe macOS package manager used by the other macOS install commands.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"brew --versionInstalls iOS native dependencies. The framework runs “pod install” for you.
echo 'gem "cocoapods", ">= 1.13"' >> Gemfile && bundle installbundle exec pod --versionVerify your machine
Run these commands in a new terminal. Every command should print a version and none should print "not found".
PS C:\my-app> ruby --versionruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x64-mingw-ucrt]PS C:\my-app> bundle --versionBundler version 2.6.2PS C:\my-app> java -versionopenjdk version "17.0.12" 2024-07-16OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)PS C:\my-app> git --versiongit version 2.47.1.windows.1PS C:\my-app> node --versionv22.12.0PS C:\my-app> firebase --version13.29.1Next steps
Official documentation
- fastlaneGetting started with fastlane for Androiddocs.fastlane.tools/getting-started/android/setup/
- fastlaneGetting started with fastlane for iOSdocs.fastlane.tools/getting-started/ios/setup/
- React NativeSet up your environmentreactnative.dev/docs/set-up-your-environment
- AdoptiumEclipse Temurin JDK 17adoptium.net/
- AppleXcodedeveloper.apple.com/xcode/
- AppleCreating API keys for App Store Connect APIdeveloper.apple.com/documentation/appstoreconnectapi/creating-api-keys-for-app-store-connect-api