Expo Go app crashes in --no-dev mode

  1. SDK Version: 46
  2. Platforms(Android/iOS/web/all): Android/iOS

I have an issue that my app is not being refreshed and crashes in production mode.

It works fine when I change something in the code in development mode, however if I run --no-dev --minify the changes do not being reflected. When the application starts in production mode, it shows that the changes are being downloaded, but after it starts, it looks as the same as before even if I use the --clear flag.

When I shake my phone the icon.png and app name does not appear.

I also use Babel module-resolver to white label multiple applications from the same code base based on the name property in the package.json.

It looks like some kind of cache problem, because when I start changing the application name back and forth to start different white labelled apps, sometimes it starts to load the previous assets and the app crashes and shows the following error:
Error: Asset not found: D:\Git\babel-resolver-test\assets\splash.png for platform: null

  • at getAbsoluteAssetRecord (D:\Git\babel-resolver-test\node_modules\metro\src\Assets.js:110:11)*
  • at async getAsset (D:\Git\babel-resolver-test\node_modules\metro\src\Assets.js:238:18)*
  • at async Server._processSingleAssetRequest (D:\Git\babel-resolver-test\node_modules\metro\src\Server.js:366:20)*
  • at async Server._processRequest (D:\Git\babel-resolver-test\node_modules\metro\src\Server.js:441:7)*

I have tried the --clear flag, restarting VS Code, Expo Go, clearing all node modules and metro cache but I keep experiencing this messed up rendering of the applications.

It used to work in previous SDKs.

I have the following dependencies in my application:
“dependencies”: {
“babel/plugin-proposal-optional-chaining”: “^7.18.9”,
“expo/vector-icons”: “^13.0.0”,
“react-native-async-storage/async-storage”: “~1.17.3”,
“react-native-community/masked-view”: “^0.1.11”,
“react-native-community/netinfo”: “9.3.0”,
“react-navigation/bottom-tabs”: “^5.11.15”,
“react-navigation/drawer”: “^5.12.9”,
“react-navigation/native”: “^5.9.8”,
“react-navigation/stack”: “^5.14.9”,
“reduxjs/toolkit”: “^1.8.1”,
“sentry/react-native”: “4.2.2”,
“assert”: “^2.0.0”,
“axios”: “^0.24.0”,
“babel-plugin-module-resolver”: “^4.1.0”,
“colors”: “^1.4.0”,
“expo”: “~46.0.13”,
“expo-barcode-scanner”: “~11.4.0”,
“expo-build-properties”: “~0.3.0”,
“expo-clipboard”: “~3.1.0”,
“expo-constants”: “~13.2.4”,
“expo-dev-client”: “~1.3.1”,
“expo-device”: “~4.3.0”,
“expo-firebase-analytics”: “~7.2.0”,
“expo-image-picker”: “~13.3.1”,
“expo-linking”: “~3.2.2”,
“expo-localization”: “~13.1.0”,
“expo-mail-composer”: “~11.3.0”,
“expo-notifications”: “~0.16.1”,
“expo-splash-screen”: “~0.16.2”,
“expo-status-bar”: “~1.4.0”,
“expo-system-ui”: “~1.3.0”,
“expo-updates”: “~0.14.6”,
“expo-web-browser”: “~11.0.0”,
“i18n-js”: “^3.9.2”,
“intl”: “^1.2.5”,
“native-base”: “^3.3.0”,
“react”: “18.0.0”,
“react-dom”: “18.0.0”,
“react-hook-form”: “^7.25.1”,
“react-native”: “0.69.6”,
“react-native-dotenv”: “^3.3.1”,
“react-native-dropdown-picker”: “^5.3.0”,
“react-native-gesture-handler”: “~2.5.0”,
“react-native-reanimated”: “~2.9.1”,
“react-native-reanimated-carousel”: “^3.0.4”,
“react-native-render-html”: “^6.3.4”,
“react-native-screens”: “~3.15.0”,
“react-native-simple-radio-button”: “^2.7.4”,
“react-native-svg”: “12.3.0”,
“react-native-tab-view”: “^3.1.1”,
“react-native-web”: “~0.18.7”,
“react-native-webview”: “11.23.0”,
“react-navigation”: “^4.4.4”,
“react-redux”: “^7.2.6”,
“redux”: “^4.1.2”,
“redux-devtools-extension”: “^2.13.9”,
“redux-thunk”: “^2.4.1”,
“sentry-expo”: “~5.0.0”,
“sha1”: “^1.1.1”,
“sharp-cli”: “^1.15.0”,
“react-native-safe-area-context”: “4.3.1”
},
“devDependencies”: {
“babel/core”: “^7.12.9”
},

I think something is messing with the version numbers. I’ve copied my application, removed all the babel module-resolver code, and when I start the app with --no-dev --minify I’m getting the following error and an older version of the app is loaded:
Error: ENOENT: no such file or directory, scandir ‘D:\Git\dermoexpressz\shops\dermoexpressz\assets’

It looks that it searches for the assets in a directory where they were in a previous version build. There’s no reference to this path in my application now, but it keeps searching it. So the --no-dev version is not being refreshed.

I have this problem from weeks now and it is really frustating that it’s blocking the development of the application.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.