reactjs - Penulisan huruf tidak sah pada huruf pemacu Windows dengan Yarn dan NextJS


Saya telah menyediakan projek baharu menggunakan Yarn dan NextJS pada mesin Windows saya hari ini. Apabila memulakan, saya mendapat ralat bahawa penggunaan huruf besar/kecil adalah "tidak sah" untuk direktori projek saya. Secara khusus, saya melihat ralat berikut:

  • Invalid casing detected for project dir, received c:\super-amazing-project actual path C:\super-amazing-project
  • There are multiple modules with names that only differ in casing.

Yang menjengkelkan ialah dalam mesej ralat, kedua-dua laluan adalah sama kecuali untuk huruf pemacu.

Bagaimana saya boleh membetulkan ini?

Versi

  • Versi Yarn 1.22.17
  • Versi NextJS 12.1.5

Output konsol

c:\super-amazing-project>yarn dev
yarn run v1.22.17
next dev
warn  - Invalid casing detected for project dir, received c:\super-amazing-project actual path C:\super-amazing-project, see more info here https://nextjs.org/docs/messages/invalid-project-dir-casing
ready - started server on 0.0.0.0:3000, url: http://localhost:3000

./node_modules/react/cjs/react.development.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* C:\super-amazing-project\node_modules\react\cjs\react.development.js
    Used by 2 module(s), i. e.
    C:\super-amazing-project\node_modules\react\index.js
* c:\super-amazing-project\node_modules\react\cjs\react.development.js
    Used by 2 module(s), i. e.
    c:\super-amazing-project\node_modules\react\index.js

package.json

{
  "name": "super-amazing-project",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@chakra-ui/react": "^1.8.8",
    "@emotion/react": "11",
    "@emotion/styled": "11",
    "framer-motion": "6",
    "next": "12.1.5",
    "react": "18.0.0",
    "react-dom": "18.0.0",
    "react-icons": "^4.3.1"
  },
  "devDependencies": {
    "@types/node": "17.0.25",
    "@types/react": "18.0.6",
    "@types/react-dom": "18.0.2",
    "eslint": "8.13.0",
    "eslint-config-next": "12.1.5",
    "typescript": "4.6.3"
  }
}

Jawapan #1

Anda mungkin telah menukar huruf pemacu pada Windows dalam terminal arahan dengan menggunakan arahan seperti cd c:\super-amazing-project dan kemudian menyediakan projek dengan huruf pemacu Windows huruf kecil. Ini menyebabkan isu pelik seperti yang anda alami.

Penyelesaian 1. Tukar huruf besar/kecil pada huruf pemacu dan cuba yarn dev sekali lagi

Anda boleh menukar huruf besar/kecil bagi huruf pemacu pada Windows menggunakan arahan cd seperti ini

C:\super-amazing-project>cd c:\

c:\>cd super-amazing-project

c:\super-amazing-project> yarn dev

Penyelesaian 2. Tetapkan projek anda semula menggunakan huruf pemacu besar lalai

Memasang dengan huruf pemacu huruf kecil bukan lalai pada Windows mungkin telah meletakkan projek baru anda dalam keadaan buruk. Jika projek ini baru, mungkin lebih mudah untuk hanya menjalankan npx create-next-app sekali lagi dan menyalin fail projek anda.