Get Started

"React Native version mismatch" errors

When developing an Expo or React Native app, it's not uncommon to run into an error that looks like:
React Native version mismatch.

Javascript version: X.XX.X
Native version: X.XX.X

Make sure you have rebuilt the native code...

What this error means

The bundler that you're running in your terminal (via expo start) is using a different JavaScript version of react-native than the native app on your device or emulator. This can happen after upgrading your React Native or Expo SDK version, or when connecting to the wrong local development server.

  • Close out any development servers that you have running (you can list all terminal processes with the ps command, and search for Expo CLI or React Native community CLI processes with ps -A | grep "expo\|react-native").
  • If this is a managed workflow project, either remove the sdkVersion field from your app.json file, or make sure it matches the value of the expo dependency in your package.json file.
  • If this is a managed workflow project, you should make sure your react-native version is correct. Run expo upgrade and follow the prompts. Expo CLI will make sure that your dependency versions for packages like expo and react-native are aligned. Your react-native version should be pointing to a .tar.gz file that has your SDK version in it, something like https://github.com/expo/react-native/archive/sdk-XX.X.X.tar.gz.
  • If this is a bare workflow project, and this error is occurring right after upgrading your React Native version, you should double-check that you've performed each of the upgrade steps correctly.
  • Finally:
    • Clear your bundler caches by running rm -rf node_modules && npm cache clean --force && npm install && watchman watch-del-all && rm -rf $TMPDIR/haste-map-* && rm -rf $TMPDIR/metro-cache && expo start --clear
      • Commands if you are using npm can be found here.
      • Commands if you are using Windows can be found here.
    • If this is a bare workflow project, run npx pod-install, then rebuild your native projects (run yarn android to rebuild for Android, and yarn ios to rebuild iOS)