Issues with rxjs dependency conflicts after upgrading to Sanity v3.5.0
7 replies
Last updated: Mar 19, 2023
F
Trouble after upgrading to Sanity v3.5.0.
So I upgraded to Sanity 3.5.0 and now when running
So I search for rxjs here on Slack and found this answer (
https://sanity-io-land.slack.com/archives/C9Z7RC3V1/p1677016448020399?thread_ts=1676530520.281159&cid=C9Z7RC3V1 ) telling me to add rxjs 7.8.0 to my devDependencies.
This worked for a while. But durin deployment to Vercel I got a lot of errors regarding conflicts about different rxjs versions.
So I deleted my node_modules folder and tried to run
So I upgraded to Sanity 3.5.0 and now when running
npm run devi get an error regarding portable-text-editor and rxjs saying:
✘ [ERROR] No matching export in "node_modules/rxjs/_esm5/index.js" for import "tap" node_modules/@sanity/portable-text-editor/lib/index.esm.js:5:16: 5 │ import { defer, tap, switchMap, of, EMPTY, concatMap, Subject } from 'rxjs'; ╵ ~~~ ✘ [ERROR] No matching export in "node_modules/rxjs/_esm5/index.js" for import "switchMap" node_modules/@sanity/portable-text-editor/lib/index.esm.js:5:21: 5 │ import { defer, tap, switchMap, of, EMPTY, concatMap, Subject } from 'rxjs'; ╵ ~~~~~~~~~ ✘ [ERROR] No matching export in "node_modules/rxjs/_esm5/index.js" for import "concatMap" node_modules/@sanity/portable-text-editor/lib/index.esm.js:5:43: 5 │ import { defer, tap, switchMap, of, EMPTY, concatMap, Subject } from 'rxjs'; ╵ ~~~~~~~~~ 5:01:19 PM [vite] error while updating dependencies: Error: Build failed with 3 errors: node_modules/@sanity/portable-text-editor/lib/index.esm.js:5:16: ERROR: No matching export in "node_modules/rxjs/_esm5/index.js" for import "tap" node_modules/@sanity/portable-text-editor/lib/index.esm.js:5:21: ERROR: No matching export in "node_modules/rxjs/_esm5/index.js" for import "switchMap" node_modules/@sanity/portable-text-editor/lib/index.esm.js:5:43: ERROR: No matching export in "node_modules/rxjs/_esm5/index.js" for import "concatMap" at failureErrorWithLog (/Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:1604:15) at /Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:1056:28 at runOnEndCallbacks (/Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:1476:61) at buildResponseToResult (/Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:1054:7) at /Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:1166:14 at responseCallbacks.<computed> (/Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:701:9) at handleIncomingPacket (/Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:756:9) at Socket.readFromStdout (/Users/felixbridell/BLKLZY_Dev/blklzy-sanity-studio/node_modules/esbuild/lib/main.js:677:7) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)
https://sanity-io-land.slack.com/archives/C9Z7RC3V1/p1677016448020399?thread_ts=1676530520.281159&cid=C9Z7RC3V1 ) telling me to add rxjs 7.8.0 to my devDependencies.
This worked for a while. But durin deployment to Vercel I got a lot of errors regarding conflicts about different rxjs versions.
npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: @sanity/document-internationalization@1.0.5 npm ERR! Found: rxjs@7.8.0 npm ERR! node_modules/rxjs npm ERR! dev rxjs@"^7.8.0" from the root project npm ERR! rxjs@"^7.0.0" from @sanity/bifur-client@0.3.1 npm ERR! node_modules/@sanity/bifur-client npm ERR! @sanity/bifur-client@"^0.3.1" from sanity@3.5.0 npm ERR! node_modules/sanity npm ERR! sanity@"^3.5.0" from the root project npm ERR! 1 more (@sanity/document-internationalization) npm ERR! 8 more (@sanity/client, @sanity/portable-text-editor, ...) npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer rxjs@"^6.0.0" from @sanity/document-internationalization@1.0.5 npm ERR! node_modules/@sanity/document-internationalization npm ERR! @sanity/document-internationalization@"^1.0.2" from the root project npm ERR! npm ERR! Conflicting peer dependency: rxjs@6.6.7 npm ERR! node_modules/rxjs npm ERR! peer rxjs@"^6.0.0" from @sanity/document-internationalization@1.0.5 npm ERR! node_modules/@sanity/document-internationalization npm ERR! @sanity/document-internationalization@"^1.0.2" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! See /vercel/.npm/eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! /vercel/.npm/_logs/2023-02-25T15_55_10_845Z-debug-0.log Error: Command "npm install" exited with 1
npm installlocally and got the same errors. Do I need to downgrade Sanity or does some one have a fix for this?
Feb 25, 2023, 4:16 PM
D
I just upgraded to 3.5 and all seems to be working on my end. I came from 3.4 prior to the upgrade. Please see screenshot.
Feb 26, 2023, 1:50 PM
D
what machine are you on? what node version?
Feb 26, 2023, 1:50 PM
D
and oh, I also want to mention that I’m on node 16 and use
yarn
Feb 26, 2023, 1:51 PM
F
I tried Node 17 and now node 18.12.1Can it be that I use
?
@sanity/document-internationalization@1.0.5
Feb 26, 2023, 3:13 PM
D
I’m nt so sure. did you try removing it and see how it goes?
Feb 27, 2023, 1:38 PM
F
Using the
This is my package.json:
legacy-peer-depsflag seems to work. Any ideas on how to fix this for the future?
This is my package.json:
{ "name": "sanity", "private": true, "version": "1.0.0", "main": "package.json", "license": "UNLICENSED", "scripts": { "dev": "sanity dev", "start": "sanity start", "build": "sanity build", "deploy": "sanity deploy", "deploy-graphql": "sanity graphql deploy", "edit": "node scripts/editDocument.js" }, "keywords": [ "sanity" ], "dependencies": { "@sanity/document-internationalization": "^1.1.0", "@sanity/vision": "^3.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-is": "^18.2.0", "sanity": "^3.7.0", "styled-components": "^5.2.0" }, "devDependencies": { "@sanity/cli": "^3.2.3", "@sanity/eslint-config-studio": "^2.0.1", "@types/react": "^18.0.26", "@types/react-dom": "^18.0.10", "eslint": "^8.6.0", "prettier": "^2.8.4", "sanity-codegen": "^0.9.8", "typescript": "^4.0.0" }, "prettier": { "semi": false, "printWidth": 100, "bracketSpacing": false, "singleQuote": true } }
Mar 19, 2023, 6:59 AM
Sanity– build remarkable experiences at scale
Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.