SDK 39 - cannot upgrade

Please provide the following:

  1. SDK Version: 38

Has anybody managed to upgrade to SDK 39? Following that article (Expo SDK 39 is now available. Today we’re announcing our third… | by Eric Samelson | Exposition) I went ahead and started the process of updating the SDK but I’m still getting the SDK 38 instead:

It’s recommended to commit all your changes before proceeding, so you can revert the changes made by this command if necessary.

√ Would you like to proceed? … yes
√ You are already using the latest SDK version. Do you want to run the update anyways? This may be useful to ensure that all of your packages are set to the correct version. … yes
√ Installed expo@^38.0.0
√ Validated configuration.
√ No additional changes necessary to app.json config.
√ Updated known packages to compatible versions.

Got the same as what the OP posted above. I’m assuming there’s still some transition pieces behind the scenes to properly trigger an upgrade from v38 to v39. I did attempt the following and seems to work where I specified the version.

expo update 39.0.0
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

✔ You provided the target SDK version value of 39.0.0 which does not seem to exist. But hey, I'm just a program, what do I know. Do you want to try to upgrade to it anyways? … yes
✔ Installed expo@^39.0.0
✔ Validated configuration.
✔ No additional changes necessary to app.json config.
⠋ Updating packages to compatible versions (where known).Supported react, react-native, and react-dom versions are unknown because we don't have version information for the target SDK, please update them manually.
✔ Updated known packages to compatible versions.
✔ Removed package-lock.json and deleted node_modules.
✔ Installed node_modules and rebuilt package-lock.json.
✔ Cleared packager cache.
1 Like

Do you have that package? https://github.com/expo/react-native/archive/sdk-39.0.2.tar.gz

Once I updated using that command with the specific version, I had to re-run the command again with just a

expo-update and the react-native package updated to “https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz”. Not ideal, but it worked.

heya!

sorry about that - we had to roll out one small change before expo upgrade would pick up sdk 39 - that’s done now!

3 Likes

Working now. Thanks!

1 Like

Getting that error now

Cannot determine which native SDK version your project uses because the module expo is not installed. Please install it with yarn add expo and try again.

trying “npm install expo” again…

[EDIT]: getting another error:

Error: react-native is not installed. Please run npm install or yarn in your project directory.
Couldn’t start project. Please fix the errors and restart the project.

[EDIT}: Now I’m stuck:

npm WARN tarball tarball data for react-native@https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz (sha512-B1Bdr3L237isIpujiwMfPedLqLgP2uA0+vBLzSXX96bSApz79Ia0ZAXZBQ0J77ls5ulvsdMvFtlBrkQ+uYIUJQ==) seems to be corrupted. Trying one more time.

Cannot determine which native SDK version your project uses because the module expo is not installed. Please install it with yarn add expo and try again.

this could happen if you clone your project and you haven’t run yarn or npm install yet, so we don’t have any node_modules to look at.

npm WARN tarball tarball data for react-native@https://github.com/expo/react-native/archive/sdk-39.0.0.tar.gz (sha512-B1Bdr3L237isIpujiwMfPedLqLgP2uA0+vBLzSXX96bSApz79Ia0ZAXZBQ0J77ls5ulvsdMvFtlBrkQ+uYIUJQ==) seems to be corrupted. Trying one more time.

not sure what causes this but it seems to happen occasionally with npm. you can try running npm cache clean --force, deleting your node_modules, then running npm install again.

I installed node again, npm again and the expo again as well, it updates my project to 39.0.2 but not in app.json and then there is a mismatch, if I change all of that to 39.0.0 I still get React native version mismatch
javascript version: 0.59.8
Native version 0.63.2

How to match or update them ?

This is what the dependencies in package.json should look like:

“dependencies”: {
“expo”: “~39.0.2”,
“expo-status-bar”: “~1.0.2”,
“react”: “16.13.1”,
“react-dom”: “16.13.1”,
“react-native”: “https://github.com/expo/react-native/archive/sdk-39.0.2.tar.gz”,
“react-native-web”: “~0.13.12”
},

And I know this because I’m following the advice - given by @notbrent - that I should basically start from scratch after that wonderful SDK 39 update… :face_with_raised_eyebrow:

you should delete sdkVersion from app.json, it’s deprecated now. we determine the sdk version from the expo package in package.json

that wasn’t my advice. i said you should do that in order to find what was wrong in your app - start clean and slowly add things until you find the problem. it’s kind of like binary search debugging.

I know… Just teasing :slight_smile: … But painful process tho!

[Edit]: But you know what? It’s probably not a bad idea to go through that pain after a year of development. I am going through quite a few “What the heck is this?” moments.

that is just software development :laughing: if you don’t have great test coverage to help you narrow down the bug then you need to get dirty doing things like that

1 Like

I just updated a very simple barcode generator app to SDK 39. I was getting a weird error claiming expo start couldn’t find node_modules/expo/AppEntry.js. I created a new project and copied the code across and it worked there. Then I made the original app identical to the new working one… and I still got the same error. Trying to use expo start -c or removing and re-installing node_modules didn’t help at all.

What did work, finally, was watchman watch-del-all :roll_eyes:

So it seems somehow watchman had got confused.

This one may or may not have had something to do with the app starting out as a snack:

Fresh install and no OneDrive, yet:

PS F:\expo\mobshed6> npm install
npm WARN deprecated deep-assign@3.0.0: Check out lodash.merge or merge-options instead.
npm WARN deprecated core-js@1.2.7: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
npm WARN deprecated @hapi/joi@15.1.1: joi is leaving the @hapi organization and moving back to ‘joi’ (Leaving @hapi and making new plans · Issue #2411 · hapijs/joi · GitHub)
npm WARN deprecated @hapi/address@2.1.4: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated urix@0.1.0: Please see GitHub - lydell/urix: [DEPRECATED] Makes Windows-style paths more unix and URI friendly.
npm WARN deprecated resolve-url@0.2.1: GitHub - lydell/resolve-url: [DEPRECATED] Like Node.js’ `path.resolve`/`url.resolve` for the browser.
npm WARN tarball tarball data for react-native@https://github.com/expo/react-native/archive/sdk-39.0.2.tar.gz (sha512-TLHWdjhwXgMLadTUAExgzXw81h6e0mQ99NzHCmYPoudLSxDHjARjZcHdV06Iuh55/fwwEDCCuSsBv2Gw7wsP4w==) seems to be corrupted. Trying one more time.

After running the audit:

npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your package-lock.json, run npm install to fix them.
npm ERR! Missing: expo-status-bar@~1.0.2
npm ERR! Missing: react@16.13.1
npm ERR! Missing: react-dom@16.13.1
npm ERR! Missing: react-native@https://github.com/expo/react-native/archive/sdk-39.0.2.tar.gz
npm ERR! Missing: react-native-web@~0.13.12
npm ERR! Missing: @babel/core@~7.9.0

tried npm install again:

8207 warn optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\jest-haste-map\node_modules\fsevents):
8208 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
8209 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
8209 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
8209 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   win32
8209 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
8210 verbose stack RangeError: Maximum call stack size exceeded
8210 verbose stack     at RegExp.test (<anonymous>)
8210 verbose stack     at isDepOptional (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:432:45)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:441:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)
8210 verbose stack     at failedDependency (C:\Program Files\nodejs\node_modules\npm\lib\install\deps.js:457:9)

[EDIT] Third time was the charm! All good now… until SDK 40? Ha!

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