reactjs - react-typer kan inte hitta modulen 'scheduler/tracing' eller dess motsvarande typedeklarationer
Jag försöker bygga en Laravel+Inertia-app med React, och använder Node 20.13.1 och npm 10.8.0.
När jag utvecklar med npm run dev fungerar allt korrekt, men när jag försöker npm run build får jag följande fel:
node_modules/@types/react/index.d.ts:41:53 - error TS2307: Cannot find module 'scheduler/tracing' or its corresponding type declarations.
41 import { Interaction as SchedulerInteraction } from 'scheduler/tracing';
Detta är min package.json
{
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build"
},
"devDependencies": {
"@headlessui/react": "^1.4.2",
"@inertiajs/react": "^1.0.0",
"@tailwindcss/forms": "^0.5.3",
"@types/node": "^18.13.0",
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.10",
"@vitejs/plugin-react": "^4.2.0",
"autoprefixer": "^10.4.12",
"axios": "^1.6.4",
"laravel-vite-plugin": "^1.0",
"postcss": "^8.4.31",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailwindcss": "^3.2.1",
"typescript": "5.3.3",
"vite": "^5.0"
},
"dependencies": {
"@heroicons/react": "^2.1.3",
"@material-tailwind/react": "^2.1.9"
}
}
Jag har försökt söka efter samma fel, och alla "lösningar" jag kan hitta säger att man ska ta bort node_modules och bara köra npm install igen; men detta fungerar inte för mig.
Jag försökte också byta version av @types/react till en nyare/äldree, men utan resultat, förutom att jag inte kan gå över version 18.2.19 på grund av kompatibilitetsproblem med material tailwind.
Själva package.json-filen är nästan samma som den som skapas av kommandot för att skapa en ny Laravel-app, till vilken jag bara lade till paketen material-tailwind och heroicons.
Svar #1
Detta beror på att @types/react vid 18.0.28 kräver @types/scheduler vid *, men den senare exporterar inte scheduler/tracing sedan 0.23.0
Lösningen är antingen att uppdatera @types/react till en högre version som inte längre kräver det paketet, eller använda en överskrivning i package.json-filen:
{
"overrides": {
"@types/scheduler": "< 0.23.0"
}
}
Referenser :
- Ta bort schemaläggare/spårnings-API
- Ta bort oanvända @types/scheduler-beroende
