Skip to main content
Solutions to common issues encountered during Expo development.

Installation Issues

npm/yarn Installation Fails

Problem: Installation errors or timeouts Solutions:
  1. Clear npm cache:
  2. Try yarn:
  3. Check Node version:
  4. Use different registry:

Expo CLI Not Found

Problem: command not found: expo Solutions:
  1. Use npx:
  2. Or install globally:
  3. Check package installation:

Metro Bundler Issues

Metro Won’t Start

Problem: Metro bundler fails to start Solutions:
  1. Clear Metro cache:
  2. Check port availability:
  3. Clear all caches:
  4. Reinstall dependencies:

Module Resolution Errors

Problem: Unable to resolve module or Cannot find module Solutions:
  1. Install missing package:
  2. Clear cache:
  3. Check import path case sensitivity:
  4. Verify file extensions:
  5. Check Metro config:

Slow Bundle Performance

Problem: Metro bundling is very slow Solutions:
  1. Use Hermes:
  2. Limit watched folders:
  3. Disable source maps in dev:
  4. Check for large files:

Build Errors

Native Module Linking Issues

Problem: Native module cannot be null or module not found Solutions:
  1. Prebuild for development builds:
  2. Add config plugin:
  3. Check package installation:
  4. Clear native build cache:

iOS Build Failures

Problem: Xcode build fails Solutions:
  1. Update CocoaPods:
  2. Clean Xcode cache:
  3. Reinstall pods:
  4. Check Xcode version:
  5. Select Xcode command line tools:

Android Build Failures

Problem: Gradle build fails Solutions:
  1. Set JAVA_HOME:
  2. Clean Gradle cache:
  3. Update Gradle:
  4. Check Android SDK:
  5. Invalidate caches in Android Studio:
    • File → Invalidate Caches → Invalidate and Restart

Runtime Errors

White Screen on Launch

Problem: App shows white/blank screen Solutions:
  1. Check console for errors:
    • View terminal output
    • Check React DevTools
  2. Common causes:
    • JavaScript error in render
    • Missing dependencies
    • Incorrect import paths
  3. Add error boundary:

App Crashes on Device

Problem: App crashes immediately on physical device Solutions:
  1. Check device logs:
  2. Verify app permissions:
    • Check Info.plist (iOS)
    • Check AndroidManifest.xml (Android)
  3. Test in release mode:
  4. Check native dependencies:
    • Ensure all native modules are compatible
    • Check minimum OS versions

Network Request Failures

Problem: API requests fail or timeout Solutions:
  1. Check Network Inspector:
    • Press Cmd+D (iOS) or Cmd+M (Android)
    • Enable Network Inspector
  2. iOS specific - App Transport Security:
  3. Android specific - Cleartext traffic:
  4. Check CORS (web):
    • Ensure API allows cross-origin requests

Development Build Issues

Development Build Won’t Connect

Problem: Can’t connect to Metro from development build Solutions:
  1. Check network connectivity:
    • Use same WiFi network
    • Or use --tunnel flag
  2. Manually set dev server URL:
    • Shake device
    • Settings → Dev Server URL
    • Enter http://YOUR_IP:8081
  3. Use tunnel mode:
  4. Check firewall:
    • Allow port 8081
    • Disable VPN if needed

EAS Build Failures

Problem: EAS build fails Solutions:
  1. Check build logs:
  2. Validate eas.json:
  3. Test build locally first:
  4. Common issues:
    • Missing credentials
    • Incorrect bundle identifier
    • Native dependency conflicts

Platform-Specific Issues

iOS Simulator Issues

Problem: Simulator not working or not listed Solutions:
  1. Restart Simulator:
  2. List available simulators:
  3. Install simulators:
    • Xcode → Settings → Platforms
    • Download iOS simulators
  4. Reset Simulator:
    • Device → Erase All Content and Settings

Android Emulator Issues

Problem: Emulator won’t start or is very slow Solutions:
  1. Check virtualization:
    • Enable Intel VT-x or AMD-V in BIOS
    • Check with: grep -E "(vmx|svm)" /proc/cpuinfo
  2. Use ARM image on M1/M2 Mac:
    • Create ARM64 emulator in Android Studio
  3. Increase emulator RAM:
    • Android Studio → AVD Manager
    • Edit device → Advanced → RAM: 4096MB
  4. Cold boot emulator:

Update & Version Issues

Incompatible Package Versions

Problem: Version conflicts between packages Solutions:
  1. Check compatibility:
  2. Fix automatically:
  3. Check Expo SDK version:
  4. Upgrade SDK:

OTA Update Not Working

Problem: Updates not appearing on devices Solutions:
  1. Check update configuration:
  2. Verify runtime version compatibility:
    • Update must match runtime version
    • Check runtimeVersion in app.json
  3. Force update check:
  4. Check update logs:

Web-Specific Issues

Web App Won’t Start

Problem: npx expo start --web fails Solutions:
  1. Install web dependencies:
  2. Check port:
  3. Clear webpack cache:

CSS Not Loading on Web

Problem: Styles not applied on web Solutions:
  1. Check Metro config:
  2. Import CSS:
  3. Check CSS syntax:
    • Standard CSS only
    • No SCSS/SASS without configuration

Debugging Tools

Enable Debug Logging

View Bundle Size

Check Native Logs

iOS:
Android:

Getting More Help

If these solutions don’t work:
  1. Search existing issues:
  2. Ask for help:
  3. Report bugs:
    • Create detailed issue on GitHub
    • Include logs and reproduction steps