reactjs - Ogiltig stavning i Windows-enhetsbokstav med Yarn och NextJS


Jag satte upp ett nytt projekt med Yarn och NextJS på min Windows-dator idag. Vid uppstart får jag ett felmeddelande om att stora och små bokstäver är "ogiltiga" för min projektmapp. Specifikt ser jag följande fel:

  • 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.

Det som är påtagligt är att i felmeddelandet är de två sökvägarna identiska förutom enhetsbokstaven.

Hur fixar jag detta?

Versioner

  • Yarn version 1.22.17
  • NextJS version 12.1.5

Konsolutdata

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"
  }
}

Svar #1

Du har förmodligen ändrat versalen på enhetsbokstaven på Windows i kommandoterminalen genom att använda ett kommando som cd c:\super-amazing-project och sedan satt upp ett projekt med en liten Windows-enhetsbokstav. Detta orsakar konstiga problem som de du upplever.

Lösning 1. Ändra versal-/gemenstav på enhetsbokstaven och försök yarn dev igen

Du kan ändra bokstavsformatet för enhetsbokstaven på Windows med kommandot cd på detta sätt

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

c:\>cd super-amazing-project

c:\super-amazing-project> yarn dev

Lösning 2. Ställ in ditt projekt igen med standardstor bokstav på enhetsbeteckningen

Att installera med en icke-standard liten bokstav på enhetens bokstav i Windows kan ha placerat ditt nya projekt i ett dåligt tillstånd. Om detta projekt är nytt kan det vara lättare att bara köra npx create-next-app igen och kopiera dina projektfiler.