Upgrade to SDK 40 failed, now SDK 39 giving unseen errors after rollback

I have an app that was running SDK 39 until last week. I upgraded it to SDK 40 successfully, but the app was stuck at splash screen without any errors in the log. I tried many things to rectify, one of which was to update expo-cli.

The expo-cli was shown to be updated to version 4.xx, but running expo start still showed expo-cli version 3.xx. Figured this was an error due to expo-cli getting installed in multiple locations. I tried to rectify but it didn’t work.

Then I git reset to the SDK 39 version, but it was still stuck at splash screen without errors. Then, I cloned the repository at another location, npm installed it, but it still didn’t run past the splash screen.

Finally, after trying a combination of yarn install and npm install, I was able to get it running.

Now, I’m facing issues with app deployment on phones(just tried on android till now).

  1. Published an OTA through expo publish. For some devices, it’s working fine. For some, the in-app authentication keeps on getting reset(database seems to be getting wiped) and the app is not able to send data to the server. This is in contrast with earlier, where it was running fine on all devices.
  2. Sensing issues with expo publish, I exported an APK. After this, the authentication and server issues are sorted, but on some devices, there is a 2-second loading screen(not a designed page, similar to color of the splash screen) after the splash screen after which app runs fine, whereas, in some devices, the app is stuck in this loading screen forever.

All these issues are only on standalone apps. In the emulator, everything is working as expected.

What resolutions I’ve tried:

  • I installed expo-cli to the version 3.xx, so that even if there are two installations, both would have the same version. This didn’t work.
  • I npm installed the repo in a friend’s system, and the app still stuck at the splash screen, which might suggest my expo installations not being the only problem.

Expo Diagnostics log:

Expo CLI 3.21.13 environment info:
OS: Windows 10 10.0.19041
Node: 14.8.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.7 - C:\Program Files\nodejs\npm.CMD
expo: ^39.0.0 => 39.0.3
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz => 0.63.2
react-native-web: ~0.13.7 => 0.13.14

In case somebody faces the same issue, this error was caused by mixing installations by npm and yarn.
npm uninstall -g expo-cli
and then
yarn global remove expo-cli

(expo-cli successfully updating to 3.11.3 but actually not.)