Expo Go app throws error of SDK version while it's not the case

  1. SDK Version: 46 migrated to 47
  2. Platforms: Android v13 (latest stable) running Expo Go 2.26.6 and macOS 13 (latest stable) with expo-cli 6.1.0

First of all expo update 47 shows that SDK version 46 and secondly it is stuck on “Clearing the packager cache” step. The packages.json file shows expo version 47 in records after this. I also deleted and reinstalled all npm packages for certainty. After this, running npx expo start --tunnel still throws error of incompatible SDK version with logs showing “Fatal Error”.

I can’t figure out what’s the problem.

Hi @n1k

If you run expo-cli upgrade now does it finish successfully?

If not, what are the dependencies and devDependencies from your package.json?

It is stuck on clearing the packager cache. On repeated attempt it verifies the version via package.json and thinks it’s already being updated (even if possibly corrupt update - my assumption). Everything works with Expo Go on another Android phone and iPhone, but throws this error in my environment. I can make only conclusions there’s some corruption of SDK versions but can’t understand the trick. Here’s the list of dependencies:

{
  ...
  "dependencies": {
    "@expo/dev-server": "0.1.120",
    "@expo/vector-icons": "^13.0.0",
    "@expo/webpack-config": "^0.17.2",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/datetimepicker": "6.5.2",
    "@react-native-community/netinfo": "9.3.5",
    "@react-native-community/slider": "4.2.4",
    "@react-native-picker/picker": "2.4.8",
    "@react-navigation/bottom-tabs": "^5.11.2",
    "@react-navigation/drawer": "^5.7.4",
    "@react-navigation/native": "^5.8.10",
    "@react-navigation/stack": "^5.12.8",
    "@rneui/base": "latest",
    "@rneui/themed": "latest",
    "@sentry/react-native": "4.9.0",
    "@shopify/flash-list": "1.3.1",
    "@shopify/mime-types": "^2.0.0",
    "@supabase/supabase-js": "^2.2.3",
    "base64-arraybuffer": "latest",
    "date-fns": "latest",
    "expo": "^47.0.13",
    "expo-application": "~5.0.1",
    "expo-asset": "~8.7.0",
    "expo-av": "~13.0.2",
    "expo-blur": "~12.0.1",
    "expo-camera": "~13.1.0",
    "expo-cli": "6.1.0",
    "expo-constants": "~14.0.2",
    "expo-device": "~5.0.0",
    "expo-document-picker": "~11.0.1",
    "expo-file-system": "~15.1.1",
    "expo-font": "~11.0.1",
    "expo-image-picker": "~14.0.2",
    "expo-linear-gradient": "~12.0.1",
    "expo-linking": "~3.3.0",
    "expo-location": "~15.0.1",
    "expo-notifications": "~0.17.0",
    "expo-permissions": "~14.0.0",
    "expo-screen-orientation": "~5.0.1",
    "expo-splash-screen": "~0.17.5",
    "expo-updates": "~0.15.6",
    "expo-web-browser": "~12.0.0",
    "lodash": "latest",
    "lottie-react-native": "5.1.4",
    "moment": "latest",
    "react": "18.1.0",
    "react-dom": "18.1.0",
    "react-fetch-hook": "1.8.5",
    "react-native": "0.70.5",
    "react-native-calendars": "latest",
    "react-native-gesture-handler": "~2.8.0",
    "react-native-get-random-values": "~1.8.0",
    "react-native-gifted-chat": "^1.1.0",
    "react-native-keyboard-aware-scroll-view": "~0.9.5",
    "react-native-maps": "1.3.2",
    "react-native-modal-datetime-picker": "^13.0.0",
    "react-native-safe-area-context": "4.4.1",
    "react-native-screens": "~3.18.0",
    "react-native-svg": "13.4.0",
    "react-native-typography": "1.4.1",
    "react-native-url-polyfill": "latest",
    "react-native-web": "~0.18.7",
    "react-native-web-swiper": "^2.2.3",
    "react-native-webview": "11.23.1",
    "react-query": "^3.27.0",
    "react-request": "^3.1.2",
    "sentry-expo": "~6.0.0",
    "uuid": "latest"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3"
  }
  ...
}

What happens if you remove your lock file (package-lock.json or yarn.lock) and node_modules and then run npm install or yarn (depending on which tool you use to manage your dependencies)? After this, run expo-cli doctor --fix-dependencies

If that also fails, try creating a new expo app and installing the dependencies one by one using npx expo install package-name (except for the ones that are installed by default, of course.) Does that work? If so, compare the package.json from the real app to the one from the newly created app to see what differences there might be.