react-native Errors
20 error patterns
Metro bundler crash or port conflict
Metro.*error|metro bundler.*crashed|EADDRINUSE.*8081
- •Kill existing Metro process: npx kill-port 8081
- •Clear Metro cache: npx react-native start --reset-cache
React Native native module not found
Native module.*cannot be null|TurboModuleRegistry.*not found|NativeModules.*undefined
- •Run npx pod-install (iOS) or rebuild the project after adding native deps
- •For New Architecture, ensure the module implements TurboModule interface
React Native Android Gradle build failure
Gradle.*BUILD FAILED|execution failed for task.*:app:
- •Run cd android && ./gradlew clean then rebuild
- •Check android/gradle.properties for JVM memory: org.gradle.jvmargs=-Xmx4g
iOS code signing / provisioning error
Signing.*error|Code Sign error|provisioning profile.*not found|CODESIGNING
- •Open Xcode, select team in Signing & Capabilities, let Xcode manage signing
- •Ensure the provisioning profile matches the bundle identifier
Flipper debugging tool error
Flipper.*error|FlipperKit.*not found|Could not find.*Flipper
- •Update Flipper pods: FLIPPER_VERSION in Podfile to match installed Flipper
- •Remove Flipper from production builds — it's dev-only
Hermes engine error
Hermes.*error|HermesInternal.*not available|hermes.*compilation.*failed
- •Enable Hermes in android/app/build.gradle: hermesEnabled = true
- •For iOS, ensure hermes_enabled = true in Podfile and run pod install
React Native view manager not registered
Invariant Violation.*requireNativeComponent|UIManager.*cannot find
- •Rebuild the native project after installing a UI library
- •Check that the native module's ViewManager is registered in the package
React Native FlatList rendering issue
VirtualizedList.*never.*render|FlatList.*content.*blank|ScrollView.*performance
- •Add keyExtractor prop and ensure it returns unique stable strings
- •Set getItemLayout for fixed-height items to skip measurement
React Native network request failure
Network request failed|fetch.*failed.*react.*native|TypeError.*Network
- •For iOS, add App Transport Security exception in Info.plist for HTTP
- •Check Android network_security_config.xml allows cleartext if using HTTP
React Navigation routing error
Cannot.*navigate.*unmounted|navigation.*undefined|No route.*named
- •Ensure NavigationContainer wraps the entire app at root level
- •Check route names match exactly between navigator definition and navigate() calls
iOS CocoaPods installation error
Pod.*install.*error|CocoaPods.*not installed|CDN.*spec.*repo.*error
- •Run: cd ios && pod install --repo-update
- •If CDN fails, switch to trunk: pod repo remove trunk then pod install
iOS duplicate symbol / linking error
duplicate symbols.*linking|ld.*duplicate|Multiple commands produce
- •Check for duplicate library imports in Podfile — remove manual linking if using autolinking
- •Clean derived data: rm -rf ~/Library/Developer/Xcode/DerivedData
React Native bundle loading failure
Unable to load script.*bundle|Could not connect to development server
- •Ensure Metro bundler is running: npx react-native start
- •For physical device, set the correct IP in the dev menu (shake device)
React Native Animated native driver error
Animated.*useNativeDriver.*not supported|animation.*native driver.*error
- •Not all styles support useNativeDriver: true (only transform and opacity do)
- •Set useNativeDriver: false for layout animations (width, height, margin)
React Native AsyncStorage error
AsyncStorage.*error|@react-native-async-storage.*not linked
- •Install correctly: npm install @react-native-async-storage/async-storage
- •Run pod install for iOS after installing the package
React Native Android permission denied
Permission.*denied.*android|PERMISSION_DENIED|missing.*android\.permission
- •Add permission to AndroidManifest.xml
- •For runtime permissions (camera, location), use PermissionsAndroid.request()
React Native New Architecture (Fabric/TurboModules) error
New Architecture.*error|Fabric.*not supported|Codegen.*failed
- •Enable New Architecture: newArchEnabled=true in gradle.properties (Android)
- •For iOS, set RCT_NEW_ARCH_ENABLED=1 in pod install
React Native Android device/emulator connection error
INSTALL_FAILED|adb.*install.*error|device.*not found|no devices
- •Check device is connected: adb devices (should list your device)
- •Enable USB debugging on physical device in Developer Options
React Native image asset resolution error
image.*not found|require.*image.*failed|Cannot resolve.*\.(png|jpg)
- •Use require('./path/to/image.png') with correct relative path from component file
- •For Android, ensure images are in android/app/src/main/res/drawable* folders
React Native file watcher error (Watchman)
Watchman.*error|EMFILE.*too many open files|inotify.*limit
- •Increase inotify watchers: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
- •Restart Watchman: watchman shutdown-server then start Metro again