SDK Upgrade Issues

With the upcoming release of SDK33 and the subsequent deprecations of SDK26-30, we wanted to create a dedicated place for users to seek help if they encounter issues while upgrading their projects. You can read more about this in our blog post.

Please post any questions or issues you have below.

Is there any way to get started with SDK33 today in preparation for the official release?

For context: we’re waiting on a number of critical bugfixes that will be bundled in SDK33, so if we’re able to shorten our turnaround time after the official release by prepping against an in-progress version of SDK33, that would be golden.

@torq unfortunately, that’s not possible in the managed workflow.

Are you using that, or working with a bare React Native project?

-Charlie

1 Like

Uh oh I am using some old versions here of React/React Native/Expo.

Last time I tried to upgrade from 30 to 32, I ran into a lot of trouble and got stuck, but put it off cause I didn’t need it yet. I’ll give it another valiant effort, but if I get stuck again can someone personally help me? I am willing to pay $$ cause my business depends on this!!

{
  "name": "xxx",
  "version": "xxx",
  "private": true,
  "main": "./node_modules/react-native-scripts/build/bin/crna-entry-web.js",
  "scripts": {
    "start": "expo start",
    "ios": "expo ios",
    "android": "expo android",
    "eject": "expo eject",
    "test": "jest",
    "web": "webpack-dev-server -d --config ./webpack.config.js  --inline --hot --colors --content-base public/ --history-api-fallback",
    "build": "NODE_ENV=production webpack -p --config ./webpack.config.js"
  },
  "jest": {
    "preset": "jest-expo"
  },
 "devDependencies": {
    "babel-loader": "^7.1.2",
    "babel-plugin-expo-web": "^0.0.5",
    "babel-plugin-react-native-web": "^0.4.0",
    "babel-plugin-transform-decorators-legacy": "^1.3.4",
    "babel-plugin-transform-imports": "^1.4.1",
    "babel-plugin-transform-runtime": "^6.23.0",
    "css-loader": "^0.28.7",
    "file-loader": "^1.1.7",
    "jest-expo": "~27.0.0",
    "react-native-scripts": "latest",
    "react-test-renderer": "16.3.1",
    "style-loader": "^0.19.0"
  },
  "dependencies": {
    "@ptomasroos/react-native-multi-slider": "^0.0.14",
    "apollo-boost": "^0.1.7",
    "apollo-cache-persist": "^0.1.1",
    "apollo-client": "2.4.2",
    "apollo-link-batch-http": "^1.2.8",
    "apollo-link-context": "^1.0.9",
    "apollo-link-http": "^1.5.4",
    "apollo-link-schema": "^1.1.0",
    "apollo-link-state": "^0.4.1",
    "apollo-link-ws": "^1.0.9",
    "apollo-utilities": "1.0.21",
    "axios": "^0.18.0",
    "babel-plugin-transform-remove-console": "^6.9.4",
    "expo": "30.0.0",
    "expo-web": "^0.0.12",
    "expokit": "1.7.1",
    "faker": "^4.1.0",
    "geolib": "^2.0.24",
    "graphql": "^0.13.2",
    "graphql-iso-date": "^3.5.0",
    "graphql-tag": "^2.9.2",
    "graphql-tools": "^3.0.2",
    "immutability-helper": "^3.0.0",
    "react": "16.3.1",
    "react-apollo": "^2.1.4",
    "react-dom": "16.0.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-30.0.0.tar.gz",
    "react-native-animatable": "^1.3.1",
    "react-native-check-box": "^2.1.0",
    "react-native-collapsible": "^0.11.3",
    "react-native-datepicker": "^1.7.2",
    "react-native-deck-swiper": "^1.5.15",
    "react-native-device-info": "^1.6.1",
    "react-native-dropdownalert": "^3.9.1",
    "react-native-fast-image": "^5.4.2",
    "react-native-fbsdk": "^0.8.0",
    "react-native-firebase": "^5.0.0-rc4",
    "react-native-gifted-chat": "^0.4.3",
    "react-native-haptic-feedback": "^1.6.0",
    "react-native-hyperlink": "^0.0.14",
    "react-native-iap": "^2.3.10",
    "react-native-iphone-x-helper": "^1.2.0",
    "react-native-onboarding-swiper": "^1.0.0",
    "react-native-smart-corner-label": "^1.1.2",
    "react-native-smart-timer-enhance": "^1.0.3",
    "react-native-sortable-listview": "^0.2.8",
    "react-native-storage": "^0.2.2",
    "react-native-swipe-list-view": "^1.5.1",
    "react-native-swiper": "^1.5.13",
    "react-native-tab-view": "^1.3.2",
    "react-native-vector-icons": "^6.3.0",
    "react-native-web": "^0.7.3",
    "react-navigation": "^3.3.0",
    "react-navigation-fluid-transitions": "^0.2.74",
    "react-primitives": "^0.5.1",
    "styled-components": "^3.2.6",
    "subscriptions-transport-ws": "^0.9.15",
    "uuid": "^3.3.2",
    "webpack": "^3.11.0",
    "webpack-dev-server": "2.9.4"
  }
}

Oh and btw, Expo Web is incredible news!! iOS, Android, and freakin Web at the same time!? That will be a total game changer for developers and businesses everywhere! Thank you so much for all your amazing hard work! :+1:

What part of the upgrade do you usually get stuck/run into problems @booboothefool?

Make sure you’re following our upgrade guides (also the corresponding blog posts have a lot of good details on the differences between each SDK version)

-Charlie

Hi guys,

I’m trying to upgrade from 30 → 32 (and upgrading to 31 as a stepping stone). I’ve followed the instructions for 31 and 32 closely, deleted node_modules, npm installed, cleared watchman, cleared metro etc. etc. but I am consistently getting this error:

Module schedule/tracking does not exist in the Haste module map

From what I can tell based on researching the message, Expo shouldn’t get this message because the React version is locked to 16.5.0 (and I’ve verified this is the case in my package-lock.json file). So, I don’t know what to do. All solutions I’ve found assume Expo isn’t being used, and won’t work for me because it involves using different RN/React versions to the ones Expo requires.

Does anyone have any suggestions for other things I could try? I’ve set up a new project and that works, and I can’t see any differences between the RN/React/Expo versions in the package.json files that’d explain the discrepancy.

Thanks!

Hi @rikkitissier, thanks for posting your question here :blush:

So this is happening when going from 31 to 32? Could you share your package.json with me?

-Charlie

Thanks for following up. Unfortunately I couldn’t even consistently reproduce that error; when I rolled back to a working stack and tried upgrading again, I’d get different errors each time. Sometimes haste errors similar (but different) to the one I posted above, but sometimes others. I was going down a rabbit hole of having to manually install dependencies that should have been handled by react or expo themselves but weren’t for some reason, so decided to bail out of that approach.

I spent today essentially rebuilding the project. I cut my package.json back to expo/react/react-native (essentially the package.json that a new expo init would give you, since I could verify that worked on a new project), deleted node_modules, cleared watchman, haste, npm cache and anything else I could think of, then did npm install. That worked (although obviously my userland code didn’t), so I then updated and reinstalled each of my dependencies one by one. It was a lot of work, but I now have a working project on SDK 32.

Thanks for the work you guys do; other than these occasional hiccups, building with Expo has been a great experience.

2 Likes

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