Incompatible SDK version or no SDK version Expo Go
Asked Answered
C

6

9

Summary

Message: "There was a problem running the requested app". "Incompatible SDK version or no SDK version specified. This version of Expo Go only Supports the following SDKS: 44.0.0, 45.0.0, 46.0.0."

Running app with npx expo start on any device (Android or Ios) and any simulator (Android or Ios)

Tried expo upgrade, which result to the fact that I do not need to upgrade. Tried deleting node_modules and running yarn again. Tried to delete expo go client on simulator and reinstall it.

Link to the problem on expo issues

Any solutions?

What platform(s) does this occur on?

iOS

SDK Version

46

Environment

  expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 12.6
      Shell: 5.8.1 - /bin/zsh
    Binaries:
      Node: 16.14.2 - /usr/local/bin/node
      Yarn: 1.22.19 - /usr/local/bin/yarn
      npm: 8.5.0 - /usr/local/bin/npm
    Managers:
      CocoaPods: 1.11.3 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 21.4, iOS 16.0, macOS 12.3, tvOS 16.0, watchOS 9.0
    IDEs:
      Android Studio: 2021.3 AI-213.7172.25.2113.9014738
      Xcode: 14.0.1/14A400 - /usr/bin/xcodebuild
    npmPackages:
      @expo/metro-config: ^0.4.0 => 0.4.0 
      expo: 46.0.0 => 46.0.0 
      react: 18.0.0 => 18.0.0 
      react-dom: 18.0.0 => 18.0.0 
      react-native: 0.69.5 => 0.69.5 
      react-native-web: ~0.18.7 => 0.18.9 
    npmGlobalPackages:
      eas-cli: 2.3.0
      expo-cli: 6.0.6
    Expo Workflow: bare

Minimal reproducible example

package.json

{
  "scripts": {
    "start": "expo start --dev-client",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "eject": "expo eject",
    "test": "jest --watchAll",
    "debug": "open 'rndebugger://set-debugger-loc?host=localhost&port=19000'"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "@expo-google-fonts/raleway": "^0.2.2",
    "@expo/config-plugins": "^5.0.0",
    "@expo/metro-config": "^0.4.0",
    "@expo/vector-icons": "^13.0.0",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/datetimepicker": "6.2.0",
    "@react-native-masked-view/masked-view": "0.2.7",
    "@react-navigation/bottom-tabs": "^6.4.0",
    "@react-navigation/native": "^6.0.13",
    "@react-navigation/native-stack": "^6.9.0",
    "@react-navigation/stack": "^6.3.1",
    "@reduxjs/toolkit": "^1.8.5",
    "@rneui/base": "^4.0.0-rc.6",
    "@rneui/themed": "^4.0.0-rc.6",
    "@sentry/react-native": "4.2.2",
    "@stripe/stripe-react-native": "^0.19.0",
    "dotenv": "^16.0.2",
    "expo": "46.0.0",
    "expo-app-loading": "~2.1.0",
    "expo-apple-authentication": "~4.3.0",
    "expo-application": "~4.2.2",
    "expo-background-fetch": "~10.3.0",
    "expo-build-properties": "~0.3.0",
    "expo-camera": "~12.3.0",
    "expo-constants": "~13.2.4",
    "expo-dev-client": "1.3.1",
    "expo-device": "~4.3.0",
    "expo-image-loader": "~3.2.0",
    "expo-image-manipulator": "~10.4.0",
    "expo-image-picker": "~13.3.1",
    "expo-keep-awake": "~10.2.0",
    "expo-linear-gradient": "~11.4.0",
    "expo-local-authentication": "~12.3.0",
    "expo-media-library": "~14.2.0",
    "expo-modules-autolinking": "~0.10.1",
    "expo-modules-core": "0.11.7",
    "expo-notifications": "~0.16.1",
    "expo-screen-capture": "~4.3.0",
    "expo-splash-screen": "~0.16.2",
    "expo-status-bar": "~1.4.0",
    "expo-system-ui": "~1.3.0",
    "expo-task-manager": "~10.3.0",
    "expo-updates": "~0.14.6",
    "expo-web-browser": "~11.0.0",
    "firebase": "^9.10.0",
    "react": "18.0.0",
    "react-dom": "18.0.0",
    "react-native": "0.69.5",
    "react-native-agora": "^3.7.1",
    "react-native-bouncy-checkbox": "^3.0.4",
    "react-native-calendars": "^1.1289.0",
    "react-native-date-picker": "^4.2.5",
    "react-native-dotenv": "^3.3.1",
    "react-native-element-dropdown": "^2.3.0",
    "react-native-gesture-handler": "~2.5.0",
    "react-native-gifted-chat": "^1.0.4",
    "react-native-paper": "^4.12.5",
    "react-native-progress": "^5.0.0",
    "react-native-reanimated": "~2.9.1",
    "react-native-safe-area-context": "4.3.1",
    "react-native-screens": "~3.15.0",
    "react-native-svg": "12.3.0",
    "react-native-toast-message": "^2.1.5",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^9.2.0",
    "react-native-web": "~0.18.7",
    "react-native-webview": "11.23.0",
    "react-redux": "^8.0.4",
    "redux": "^4.2.0",
    "redux-saga": "^1.2.1",
    "redux-thunk": "^2.4.1",
    "sentry-expo": "~5.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.18.6",
    "@types/react": "~18.0.0",
    "@types/react-dom": "~18.0.0",
    "@types/react-native": "~0.69.1",
    "@types/react-redux": "^7.1.24",
    "expo-module-scripts": "^2.1.1",
    "jest": "^26.6.3",
    "jest-expo": "^46.0.0",
    "react-test-renderer": "^18.2.0",
    "remote-redux-devtools": "^0.5.16",
    "typescript": "^4.6.3"
  },
  "resolutions": {
    "standard-version-expo/**/@expo/config-plugins": "4.1.0",
    "@types/react": "~18.0.0",
    "@types/react-dom": "~18.0.0",
    "@types/react-native": "~0.69.1"
  },
  "private": true,
  "name": "hammashelppi-app",
  "version": "2.0.0"
}

app.json

{
  "expo": {
    "name": "Hammashelppi",
    "slug": "hammashelppi",
    "version": "2.0.0",
    "orientation": "portrait",
    "icon": "./images/HH_Logo.png",
    "splash": {
      "image": "./images/HH_splash_image.png",
      "resizeMode": "contain",
      "backgroundColor": "#107CA2"
    },
    "userInterfaceStyle": "light",
    "developmentClient": {
      "silentLaunch": true
    },
    "packagerOpts": {
      "config": "metro.config.js",
      "sourceExts": [
        "expo.ts",
        "expo.tsx",
        "expo.js",
        "expo.jsx",
        "ts",
        "tsx",
        "js",
        "jsx",
        "json",
        "wasm",
        "svg"
      ]
    },
    "updates": {
      "fallbackToCacheTimeout": 300000,
      "enabled": true,
      "url": "https://u.expo.dev/****"
    },
    "assetBundlePatterns": ["**/*"],
    "web": {
      "favicon": "./images/favicon.png"
    },
    "hooks": {
      "postPublish": [
        {
          "file": "sentry-expo/upload-sourcemaps",
          "config": {
            "organization": "hammashelppi",
            "project": "hammashelppi",
            "authToken": "*****"
          }
        }
      ]
    },
    "plugins": [
      [
        "@stripe/stripe-react-native",
        {
          "merchantIdentifier": "****",
          "enableGooglePay": true
        }
      ],
      [
        "expo-image-picker",
        {
          "photosPermission": "Allow Hammashelppi to access your gallery.",
          "cameraPermission": "Allow Hammashelppi to access your camera."
        }
      ],
      ["expo-camera"],
      [
        "expo-notifications",
        {
          "icon": "./images/HH_android_notifications_white.png",
          "color": "#107CA2",
          "mode": "production"
        }
      ],
      "sentry-expo",
      [
        "expo-build-properties",
        {
          "android": {
            "compileSdkVersion": 31,
            "targetSdkVersion": 31,
            "buildToolsVersion": "30.0.2",
            "kotlinVersion": "1.7.10"
          }
        }
      ]
    ],
    "android": {
      "icon": "./images/HH_android_logo_old.png",
      "googleServicesFile": "./google-services.json",
      "adaptiveIcon": {
        "foregroundImage": "./images/HH_android_logo.png",
        "backgroundColor": "#107CA2"
      },
      "package": "fi.suujahammas.hammashelppi",
      "versionCode": 14,
      "permissions": [
        "NOTIFICATIONS",
        "CAMERA",
        "READ_EXTERNAL_STORAGE",
        "RECORD_AUDIO",
        "android.permission.RECORD_AUDIO",
        "android.permission.CAMERA"
      ],
      "useNextNotificationsApi": true
    },
    "ios": {
      "supportsTablet": true,
      "bundleIdentifier": "fi.suujahammas.hammashelppi",
      "infoPlist": {
        "NSFaceIDUsageDescription": "Face ID is used for authentication",
        "UIBackgroundModes": ["fetch", "remote-notification"]
      },
      "buildNumber": "14",
      "googleServicesFile": "./GoogleService-Info.plist"
    },
    "runtimeVersion": "2.0.0",
    "extra": {
      "eas": {
        "projectId": "***"
      }
    }
  }
}

eas.json

{
  "cli": {
    "version": ">= 0.52.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "env": {}
    },
    "development-android": {
      "extends": "development",
      "android": {
        "buildType": "apk",
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "development-ios": {
      "extends": "development",
      "ios": {
        "enterpriseProvisioning": "universal"
      },
      "cache": {
        "key": "18999"
      }
    },

    "preview-android": {
      "extends": "development",
      "channel": "preview-android",
      "developmentClient": false,
      "android": {
        "buildType": "app-bundle",
        "gradleCommand": ":app:bundleRelease"
      }
    },
    "preview-ios": {
      "extends": "development",
      "channel": "preview-ios",
      "developmentClient": false,
      "ios": {
        "enterpriseProvisioning": "universal"
      },
      "cache": {
        "key": "18999"
      }
    },

    "production-android": {
      "extends": "development",
      "distribution": "store",
      "channel": "production-android",
      "developmentClient": false
    },
    "production-ios": {
      "extends": "development",
      "distribution": "store",
      "channel": "production-ios",
      "developmentClient": false
    }
  },
  "submit": {}
}
Cummings answered 13/10, 2022 at 13:36 Comment(0)
M
11

I had the same issue when I upgraded my expo version to 47. I fixed it by doing below steps

  1. Delete the node_module and package-lock.json file
  2. change the policy to sdkVersion under runtimeVersion in app.json file like below enter image description here
  3. run npm install
Milkman answered 12/2, 2023 at 10:30 Comment(1)
It worked for me! Otherwise you need to have a development build installed and run "expo start --dev-client" which is a pain.Degraded
S
1
I struggled a lot with this error but managed to fix it, really satyender gives the correct answer but not quite try to change it in my app.json by changing Version to: 

"runtimeVersion": {
  "policy": "sdkVersion"
}
1. - I did the following in the android part of your app.json: you need to delete 
"runtimeVersion": "2.0.0"or "1.0.0" the same with the ios part and right there in that part add: 

"runtimeVersion": {
  "policy": "sdkVersion"
}

it looks as: "android": {
  "adaptiveIcon": {
    "foregroundImage": "./assets/adaptive-icon.png",
    "backgroundColor": "#FFFFFF"
  },
  "package": "com.danyrivas13.AppDeliveryReactNative",
  "runtimeVersion": {
    "policy": "sdkVersion"
  }
},
first to android and then to ios,
both with: "runtimeVersion": {
  "policy": "sdkVersion"
}
it looks as: "ios": {
  "supportsTablet": true,
  "runtimeVersion": {
    "policy": "sdkVersion"
  }
},
2. - Then you have to delete your node_modules and your package-lock.json
3. - Then Npm Install 
4. - Your project should already compile in my case npx expo start and that worked for me.
    }
    
    it looks as: "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#FFFFFF"
      },
      "package": "com.danyrivas13.AppDeliveryReactNative",
      "runtimeVersion": {
        "policy": "sdkVersion"
      }
    },
    first to android and then to ios,
    both with: "runtimeVersion": {
      "policy": "sdkVersion"
    }
    it looks as: "ios": {
      "supportsTablet": true,
      "runtimeVersion": {
        "policy": "sdkVersion"
      }
    },
    2. - Then you have to delete your node_modules and your package-lock.json
    
    3. - Then Npm Install 
    4. - Your project should already compile in my case npx expo start and that worked for me.
Segregationist answered 15/3, 2023 at 16:12 Comment(1)
As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.Arouse
R
1

In 5 comprehensive but easy steps :

1- In app.config.js or .ts you have to add

runtimeVersion: {
      policy: 'sdkVersion',
    }

2- Delete the node_module and package-lock.json file

3- npm i or yarn

4- You have to have a build on whichever device you are running on(for example if you are doing a yarn start for the first time step 1 is not sufficient):

yarn expo run:android (or ios instead of android or npm instead of yarn)

5- feel free to yarn start or npm start anytime now! ps: if you are having trouble when scanning the QR code try entering the url that is showing on your metro in expo go manually, it worked for me(example: exp://192.168.0.137:8081)

Ransom answered 4/7, 2023 at 8:51 Comment(0)
D
0

What if you use expo-cli doctor --fix-dependencies, which will change all dependent packages to match what expo requires as version!

Dive answered 12/11, 2022 at 17:38 Comment(0)
V
0

My Expo app had to be updated. After an update, the issue was fixed.

Villeneuve answered 26/1, 2024 at 1:17 Comment(1)
As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.Arouse
M
0

I have updated the sdk version.

51.0.34. Even then when I am opening in Expo Go app in iOS and I getting the same error that says project is incompatible. I have tried uninstalling and reinstalling the expo iOS app

Matchbox answered 24/9, 2024 at 6:42 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.