🎰 Bankroll Betty Development Setup Guide
Complete walkthrough for setting up and building the Bankroll Betty mobile app with all commands, errors, and solutions
📝 Release Notes Creation
Created release notes featuring Expanded Poker Tutorials and Beginner and Advanced Quiz features. The release notes were formatted for app store submission with proper en-US localization tags.
📦 Step 1: Initial Installation Attempt
Critical Discovery: This project uses Bun as the package manager, not npm! Initial npm install attempts failed with dependency conflicts.
❌ npm install Error:
npm error ERESOLVE unable to resolve dependency tree
npm error Found: react@19.1.0
npm error Could not resolve dependency:
npm error peer react@"^16.5.1 || ^17.0.0 || ^18.0.0" from lucide-react-native@0.475.0
npm couldn't resolve the conflict between React 19 and lucide-react-native's peer dependency requirements.
🚀 Step 2: Installing Bun on Windows
Check if Bun is installed:
bun --version
Error: The term 'bun' is not recognized as the name of a cmdlet, function, script file, or operable program.
✅ Install Bun on Windows:
powershell -c "irm bun.sh/install.ps1 | iex"
Success Output:
Bun 1.3.5 was installed successfully!
The binary is located at C:\Users\capta\.bun\bin\bun.exe
💡 Note: Restart your terminal/editor, then type "bun"
📥 Step 3: Installing Dependencies with Bun
PowerShell PATH Issue:
If bun isn't recognized in your current PowerShell session, add it to PATH temporarily:
$env:Path += ";C:\Users\capta\.bun\bin"; bun install
⚠️ PowerShell Syntax Error (if using &&):
The token '&&' is not a valid statement separator in this version.
Solution: Use semicolons (;) instead of && in PowerShell
✅ Correct Installation Command:
cd C:\Users\capta\Desktop\bankroll-betty; $env:Path += ";C:\Users\capta\.bun\bin"; bun install
Success Output:
bun install v1.3.5 (1e86cebd)
+ expo@54.0.28
+ react@19.1.0
+ react-native@0.81.5
...
1024 packages installed [100.16s]
Saved lockfile
✅ Dependencies installed successfully! Bun resolved the dependency conflicts that npm couldn't.
💡 Important Notes:
- You may need to restart your terminal for bun to be available in your PATH permanently
- If bun isn't recognized after restarting, use the full path:
C:\Users\capta\.bun\bin\bun.exe - Bun's dependency resolution successfully handled React 19 compatibility issues
🎮 Step 4: Starting the Development Server
Available Commands:
Using npm/npx (if Node.js installed):
npx expo start -c
Using Bun (recommended):
bunx expo start -c
Web Preview:
bun run start-web
The -c flag clears the cache, which is useful after installing dependencies.
After running, you'll see a QR code you can scan with Expo Go app, or press i for iOS Simulator / a for Android Emulator.
🛠️ Step 5: Setting Up Development Builds
Install expo-dev-client:
$env:Path += ";C:\Users\capta\.bun\bin"; bun add expo-dev-client
✅ installed expo-dev-client@6.0.20
9 packages installed [2.22s]
Saved lockfile
Update app.config.js:
Add "expo-dev-client" to the plugins array in app.config.js
plugins: [
"expo-router",
"expo-font",
"expo-web-browser",
"expo-dev-client", // Added for development builds
...
]
☁️ Step 6: EAS CLI Setup (Cloud Builds)
Using npx (recommended):
npx eas-cli --version
✅ eas-cli/16.28.0 win32-x64 node-v24.12.0
Cloud Build Commands:
Login to Expo account:
npx eas-cli login
Build for Android:
npx eas-cli build --profile development --platform android
Build for iOS:
npx eas-cli build --profile development --platform ios
Build for both platforms:
npx eas-cli build --profile development --platform all
After the build completes, install the development build on your device and start the dev server with:
npx expo start --dev-client
🏗️ Step 7: Local Build Setup (Advanced)
Attempting Local Android Build:
$env:Path += ";C:\Users\capta\.bun\bin"; bun run android
❌ Error Encountered:
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
⚠️ Required Prerequisites for Local Android Builds:
1. Java JDK 17
- Download from adoptium.net
- Or use Windows Package Manager:
winget install EclipseAdoptium.Temurin.17.JDK - After installing, set
JAVA_HOMEenvironment variable to JDK path (e.g.,C:\Program Files\Eclipse Adoptium\jdk-17.x.x-hotspot)
2. Android Studio
- Download from developer.android.com/studio
- During setup, install:
- Android SDK
- Android SDK Platform
- Android Virtual Device (AVD)
3. Environment Variables
JAVA_HOME→ JDK installation pathANDROID_HOME→ Android SDK path (usuallyC:\Users\YourUsername\AppData\Local\Android\Sdk)- Add to PATH:
%ANDROID_HOME%\platform-toolsand%ANDROID_HOME%\tools
Local Build Commands (after setup):
Android:
bun run android
or
npx expo run:android
iOS (macOS only):
bun run ios
or
npx expo run:ios
Note: The first local build can take 10-20 minutes as it compiles native code. Subsequent builds are faster.
After the build completes, start the development server:
npx expo start --dev-client
💡 Recommendation:
For most developers, EAS Build (cloud) is the easier option - no local Java/Android Studio setup required! Use local builds only if you need to debug native code or have specific requirements.
🎯 Complete Command Reference
Install Bun:
powershell -c "irm bun.sh/install.ps1 | iex"
Install Dependencies:
$env:Path += ";C:\Users\capta\.bun\bin"; bun install
Start Dev Server:
bunx expo start -c
Install Dev Client:
bun add expo-dev-client
Cloud Build (Android):
npx eas-cli build --profile development --platform android
Start with Dev Client:
npx expo start --dev-client
🎯 Key Takeaways
- This project uses Bun instead of npm - use
bun installnotnpm install - PowerShell uses semicolons (;) not && for command chaining
- Restart terminal after installing Bun, or use full path:
C:\Users\capta\.bun\bin\bun.exe - Development builds require expo-dev-client installed and configured in
app.config.js - Local Android builds need Java JDK 17 and Android Studio with proper environment variables
- EAS Build is recommended for cloud-based builds without local setup
- Always use
--dev-clientflag when starting dev server after building
🎰 Bankroll Betty - Poker Session Tracker App
Built with Expo, React Native, TypeScript, and Bun
Comments
Post a Comment