Using a custom development client, error after upgrading to Expo 46, “main” has not been registered

Hey! Please help!

This is my last topic, and still can’t fix it. Error Upgrading to Expo 46, “main” has not been registered

Therefore, to use expo-dev-client it is recommended to use EAS, so I have to switch from Classic Build to EAS Build. And sooner or later we need to migrate.

So, I read the docs custom development client and already follow the instruction from Migrating from “expo build”

But, after successfully doing EAS Build on the development profile and then installing to my device (IOS & Android), In my Development Build I still having the same problem from the previous topic.

Please check and solve the problem.

Here’s my package.json:

{
“name”: “xxxxxx”,
“main”: “node_modules/expo/AppEntry.js”,
“private”: true,
“scripts”: {
“start”: “expo start”,
“android”: “expo start --android”,
“ios”: “expo start --ios”,
“eject”: “expo eject”
},
“dependencies”: {
    "@expo-google-fonts/inter": "^0.1.0",
    "@expo-google-fonts/judson": "^0.1.0",
    "@expo-google-fonts/montserrat": "^0.1.0",
    "@expo-google-fonts/noto-sans": "^0.1.0",
    "@expo-google-fonts/open-sans": "^0.1.0",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/datetimepicker": "6.2.0",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "9.3.0",
    "@react-native-community/slider": "4.2.3",
    "@react-navigation/bottom-tabs": "^6.0.9",
    "@react-navigation/drawer": "^6.1.8",
    "@react-navigation/material-top-tabs": "^6.0.6",
    "@react-navigation/native": "^6.0.6",
    "@react-navigation/stack": "^6.0.11",
    "buffer": "^6.0.3",
    "dotenv": "^16.0.1",
    "expo": "^46.0.0",
    "expo-analytics": "^1.0.16",
    "expo-analytics-amplitude": "~11.3.0",
    "expo-application": "~4.2.2",
    "expo-av": "~12.0.4",
    "expo-barcode-scanner": "~11.4.0",
    "expo-camera": "~12.3.0",
    "expo-clipboard": "~3.1.0",
    "expo-constants": "~13.2.4",
    "expo-crypto": "~11.0.0",
    "expo-dev-client": "~1.3.1",
    "expo-document-picker": "~10.3.0",
    "expo-file-system": "~14.1.0",
    "expo-font": "~10.2.0",
    "expo-image-picker": "~13.3.1",
    "expo-linear-gradient": "~11.4.0",
    "expo-linking": "~3.2.2",
    "expo-location": "~14.3.0",
    "expo-media-library": "~14.2.0",
    "expo-navigation-bar": "~1.3.0",
    "expo-network": "~4.3.0",
    "expo-notifications": "~0.16.1",
    "expo-screen-capture": "~4.3.0",
    "expo-screen-orientation": "~4.3.0",
    "expo-secure-store": "~11.3.0",
    "expo-splash-screen": "~0.16.2",
    "expo-status-bar": "~1.4.0",
    "expo-store-review": "~5.3.0",
    "expo-system-ui": "~1.3.0",
    "expo-tracking-transparency": "~2.3.1",
    "expo-web-browser": "~11.0.0",
    "lottie-react-native": "5.1.3",
    "moment": "^2.27.0",
    "numeral": "^2.0.6",
    "react": "18.0.0",
    "react-native": "0.69.6",
    "react-native-base64": "0.0.2",
    "react-native-calendars": "^1.1275.0",
    "react-native-chart-kit": "^6.3.0",
    "react-native-cn-richtext-editor": "^1.0.40",
    "react-native-collapsible": "^1.5.3",
    "react-native-copilot": "^2.5.1",
    "react-native-crypto-js": "^1.0.0",
    "react-native-date-picker": "^4.1.3",
    "react-native-elements": "^3.4.2",
    "react-native-fetch-polyfill": "^1.1.3",
    "react-native-gesture-handler": "~2.5.0",
    "react-native-hyperlink": "0.0.19",
    "react-native-image-slider-box": "^1.0.12",
    "react-native-image-viewing": "^0.2.0",
    "react-native-keyboard-aware-scroll-view": "^0.9.5",
    "react-native-maps": "0.31.1",
    "react-native-modal": "^11.5.6",
    "react-native-multiple-select": "^0.5.3",
    "react-native-otp-textinput": "0.0.5",
    "react-native-pager-view": "5.4.24",
    "react-native-pose": "^0.9.0",
    "react-native-progress": "^4.1.2",
    "react-native-qrcode-svg": "^5.2.0",
    "react-native-ratings": "^7.3.0",
    "react-native-reanimated": "~2.9.1",
    "react-native-render-html": "^4.2.2",
    "react-native-safe-area-context": "4.3.1",
    "react-native-safe-area-view": "^1.1.1",
    "react-native-scalable-image": "^1.1.0",
    "react-native-screens": "~3.15.0",
    "react-native-scroll-into-view": "^1.0.3",
    "react-native-skeleton-content": "^1.0.22",
    "react-native-svg": "12.3.0",
    "react-native-swipe-list-view": "^3.2.3",
    "react-native-tab-view": "^3.1.1",
    "react-native-vector-icons": "^9.0.0",
    "react-native-webview": "11.23.0",
    "react-navigation": "^3.11.1",
    "react-navigation-drawer": "^2.5.0",
    "react-navigation-stack": "^2.8.2",
    "react-redux": "^5.1.1",
    "redux": "^4.0.1",
    "redux-persist": "^5.10.0",
    "rn-swipe-button": "^1.2.8",
    "url-parse": "^1.4.7"
  },
  "devDependencies": {
    "@babel/core": "^7.18.6",
    "@expo/vector-icons": "^13.0.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^5.9.0",
    "eslint-plugin-react": "^7.20.4",
    "react-native-dotenv": "^3.3.1"
  }
}

And here’s my eas.json:

{
  "cli": {
    "version": ">= 0.52.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "production_android": {
      "channel": "production-v33-android",
      "android": {
        "buildType": "apk"
      }
    },
    "production_ios": {
      "channel": "production-v33-ios"
    },
    "preview": {
      "distribution": "internal",      
      "channel": "preview"
    },
    "production": {      
      "channel": "production"
    }
  },
  "submit": {
    "production": {}
  }
}


Hi @imanuelvic

Can you try creating a new Expo app, installing all of your dependencies and building a dev client. Then try running npx expo start in the new app. Then try opening the dev client and connecting to the development server (e.g. by typing in the URL).

Does that work?

If so, kill the dev server, switch to the real app, run npx expo start there. Using the same dev client from above, try connecting to your dev server.

Does that work?

If that works you can continue using this new dev client to develop your real app. But you should also try to figure out what differences there are between the two apps. Compare package.json, app.json, babel and metro config, etc.

Hi, thankyou for replying

I already try all the best I can do, but still can’t solve the problem

So you’re saying that if you create a new app and install all of the same dependencies as your real app then you get the same problem?

What are your dependencies and devDependencies?

EDIT: OK, I see you posted your package.json in the first post. But please answer the question about whether the new app with all your dependencies works anyway :slight_smile: