Why is my Expo app working in local development but then gives a 'non-std C++ exception' on eas update?

367 Views Asked by At

I am developing a react native app in Expo which is all working fine in local development, on Expo Go etc., but as soon as I update it with eas it shows a non-std C++ exception' error:

I can only assume it's an unsupported dependency in Expo, but I don't know why it would be working in dev and not in prod.

EAS error

package.json

 "@apollo/client": "^3.7.1",
    "@expo/vector-icons": "^13.0.0",
    "@geo-maps/earth-coastlines-1km": "^0.6.0",
    "@peculiar/webcrypto": "^1.4.1",
    "@react-native-async-storage/async-storage": "^1.17.11",
    "@react-native-community/datetimepicker": "6.5.2",
    "@reduxjs/toolkit": "^1.9.1",
    "@tradle/react-native-http": "^2.0.1",
    "@types/google.maps": "^3.51.0",
    "@types/react": "~18.0.24",
    "@types/react-native": "^0.70.6",
    "@types/redux-persist": "^4.3.1",
    "assert": "^1.5.0",
    "big-integer": "^1.6.51",
    "browserify-zlib": "^0.1.4",
    "buffer": "^4.9.2",
    "console-browserify": "^1.2.0",
    "constants-browserify": "^1.0.0",
    "crypto": "^1.0.1",
    "dns.js": "^1.0.1",
    "domain-browser": "^1.2.0",
    "dotenv": "^16.0.3",
    "events": "^1.1.1",
    "expo": "^48.0.17",
    "expo-blur": "^12.0.1",
    "expo-checkbox": "^2.5.0",
    "expo-constants": "~14.0.2",
    "expo-dev-client": "~2.0.1",
    "expo-document-picker": "~11.0.1",
    "expo-image-picker": "~14.0.2",
    "expo-status-bar": "~1.4.2",
    "expo-updates": "~0.15.6",
    "fastestsmallesttextencoderdecoder": "^1.0.22",
    "firebase": "^9.14.0",
    "https-browserify": "^0.0.1",
    "joi": "^17.7.0",
    "path-browserify": "^0.0.0",
    "punycode": "^1.4.1",
    "querystring-es3": "^0.2.1",
    "react": "18.1.0",
    "react-native": "0.70.5",
    "react-native-async-storage": "^0.0.1",
    "react-native-cache": "^2.0.2",
    "react-native-clean-project": "^4.0.1",
    "react-native-crypto": "^2.2.0",
    "react-native-dotenv": "^3.4.6",
    "react-native-expo-cached-image": "^1.3.1",
    "react-native-gesture-handler": "^2.13.4",
    "react-native-get-random-values": "^1.9.0",
    "react-native-level-fs": "^3.0.1",
    "react-native-maps": "^1.3.2",
    "react-native-os": "^1.2.6",
    "react-native-randombytes": "^3.6.1",
    "react-native-reanimated": "^3.1.0",
    "react-native-tcp": "^3.3.2",
    "react-native-udp": "^2.7.0",
    "react-native-uuid": "^2.0.1",
    "react-native-vector-icons": "^9.2.0",
    "react-native-webview": "11.26.0",
    "react-redux": "^8.0.5",
    "readable-stream": "^1.0.33",
    "redux-persist": "^6.0.0",
    "redux-typescript": "^1.2.1",
    "stream-browserify": "^1.0.0",
    "string_decoder": "^0.10.31",
    "text-encoding": "^0.7.0",
    "text-encoding-polyfill": "^0.6.7",
    "timers-browserify": "^1.4.2",
    "tty-browserify": "^0.0.0",
    "typescript": "^4.8.4",
    "url": "^0.10.3",
    "util": "^0.10.4",
    "vm-browserify": "^0.0.4"

I have tried republishing with a range of different fixes but the error persists.

1

There are 1 best solutions below

0
On

In my case, some of the packages I had installed via npm/Yarn weren't the correct versions. They were too recent for the version of Expo that I had installed.

I ran npx expo-doctor and allowed it to fix the issues it found, and that resolved the "non-std C++ exception" issue.