reactjs - Jenis React tidak sepadan dalam monorepo pnpm
Saya sedang cuba menukar monorepo yang diwarisi dari yarn+lerna ke ruang kerja pnpm
Saya kini menghadapi ralat kerana versi React tidak sepadan, TypeScript tidak mengenal pasti versi @types/react yang paling hampir dalam struktur untuk beberapa sebab
Saya mempunyai pakej packages/web yang menggunakan jenis React 18, dan pakej packages/native yang menggunakan jenis React 16.
Saya mempunyai banyak kesilapan dalam pakej asli seperti
'Text' cannot be used as a JSX component.
Its instance type 'Text' is not a valid JSX element.
The types returned by 'render()' are incompatible between these types.
Type 'import("~/node_modules/.pnpm/@[email /node_modules/@types/react/index").ReactNode' is not assignable to type 'import("~/node_modules/.pnpm/@[email /node_modules/@types/react/index").ReactNode'.
ada idea bagaimana untuk membaiki ini?
Jawapan #1
Jalankan pnpm update --latest -r untuk mengemas kini semua kebergantungan secara berulang kepada versi terkini. Ini sepatutnya menjadikan semua pakej menggunakan versi yang seragam dan menyelesaikan semua atau kebanyakan ralat.
Jawapan #2
Kadang-kadang, pergantungan lama mungkin menyebabkan konflik. Untuk memastikan anda mempunyai persekitaran yang bersih, cuba kosongkan cache pnpm dengan menjalankan arahan ini:
pnpm cache clear --force
