trying to upgrade from 44 to 45

Hi, I’m trying to upgrade my SDK from 44 to 45 and get this:

C:~~\Project>expo upgrade 45
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ There is a new version of expo-cli available (6.0.6). │
│ You are currently using expo-cli 6.0.5 │
│ Install expo-cli globally using the package manager of your choice; │
│ for example: npm install -g expo-cli to get the latest version │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Your git working tree is clean
To revert the changes after this command completes, you can run the following:
git clean --force && git reset --hard

× Failed to install expo package with error: yarnpkg exited with non-zero code: 134
yarnpkg exited with non-zero code: 134
Error: yarnpkg exited with non-zero code: 134
at ChildProcess.completionListener (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\node_modules@expo\spawn-async\src\spawnAsync.ts:65:13)
at Object.onceWrapper (node:events:510:26)
at ChildProcess.emit (node:events:390:28)
at ChildProcess.cp.emit (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\node_modules\cross-spawn\lib\enoent.js:34:29)
at maybeClose (node:internal/child_process:1064:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

at spawnAsync (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\node_modules@expo\spawn-async\src\spawnAsync.ts:26:19)
at YarnPackageManager._runAsync (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\node_modules@expo\package-manager\src\NodePackageManagers.ts:314:31)
at YarnPackageManager.addWithParametersAsync (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\node_modules@expo\package-manager\src\NodePackageManagers.ts:259:16)
at YarnPackageManager.addAsync (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\node_modules@expo\package-manager\src\NodePackageManagers.ts:263:5)
at upgradeAsync (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\src\commands\info\upgradeAsync.ts:496:7)
at actionAsync (C:\Program Files (x86)\Nodist\bin\node_modules\expo-cli\src\commands\info\upgradeAsync.ts:42:3)

I tried deleting the package-lock file as I saw that helped another user migrate TO 44, but it didn’t help.
would it work to do “yarn add expo@45.0.0” ?

I’m at a loss.

Hey @blackops,

Can you try running yarn upgrade @babel/core and then run expo upgrade. It feels like the issue might be similar to this: EXPO SDK 45 BETA - error running upgrade - failed to install expo package expo@next · Issue #17257 · expo/expo · GitHub

Thanks, Aman,
I ended up just initializing another project with SDK 46 and gradually injecting my current code into it. It’s building now. I think though that it all came down to deleting the yarn.lock file (not the package.lock file I’d had from a long time ago). Possibly that opens the project up to the latest @babel/core.

2 Likes

Your suspicions sound about right.

If you use yarn to manage your dependencies, you should have a yarn.lock file and it should be checked in to Git. Also, you should not have a package-lock.json file.

If you use npm to manage your dependencies it’s the opposite. You should have a package-lock.json file and you should not have a yarn.lock file.

If you have both lock files then I believe EAS Build assumes you’re using yarn, so it might install unexpected versions of dependencies.