source

Create-react-app - 플러그인 "react"의 오류 ".eslintrc.json"과 "BaseConfig" 간에 충돌했습니다.

gigabyte 2023. 3. 5. 09:51
반응형

Create-react-app - 플러그인 "react"의 오류 ".eslintrc.json"과 "BaseConfig" 간에 충돌했습니다.

CRA 5.0.0으로 업데이트한 후 컴파일 프로세스에서 다음 오류가 발생하였습니다.

ERROR in Plugin "react" was conflicted between ".eslintrc.json" and "BaseConfig » "..\react-app\node_modules\eslint-config-react-app\base.js".

eslint 설정은 다음과 같습니다.

{
    "env": {
        "browser": true,
        "es2021": true
    },
    "extends": [
        "plugin:react/recommended",
        "airbnb",
        "plugin:react/jsx-runtime"
    ],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 12,
        "sourceType": "module"
    },
    "plugins": [
        "react",
        "@typescript-eslint"
    ],
    "rules": {...}
}

해결 방법/해결책 있습니까?

문제:

eslint-plugin-react프로젝트 의존성의 버전이 의 버전과 "다르다"eslint-config-react-app패키지의 의존성이 있기 때문에, 「중복」이 됩니다.

해결 방법:

..lock(그것은 이유가 있기 때문에) 여기에 제시된 수만큼 파일을 작성합니다.대신 해당 항목을 중복 제거했다가 다시 설치하십시오.

npm:

npm dedupe && npm i

v1:

npx yarn-deduplicate && yarn

v3+:

yarn dedupe

pnpm:

pnpm dlx pnpm-deduplicate && pnpm i

음, 이것은 다음 문제 중 하나와 관련이 있는 것 같습니다.

https://github.com/yannickcr/eslint-plugin-react/issues/3128

https://github.com/facebook/create-react-app/issues/10463

시험할 수 있는 것은, 다음과 같습니다(첫 번째 것이 동작하지 않는 경우는, 두 번째 것을 시험해 주세요).

  • 첫 번째 옵션에서는.lock 파일(최소한 실의 문제는 해결된 것 같습니다)을 삭제합니다.https://github.com/yannickcr/eslint-plugin-react/issues/3128#issuecomment-965559013
  • pnpFallbackMode: all로로 합니다..yarnrc.yml파일(whttp://https://github.com/facebook/create-react-app/issues/10463#issuecomment-997378138 에 기재되어 있는 바와 같이, 실을 사용하고 있는 경우는)을 참조해 주세요.

또한 CRA 릴리즈 노트를 참조하여 조치가 필요한지 여부를 확인합니다.특히 "Migration from 4.0.x to 5.0.0"에 대한 부분은 업데이트가 필요할 수 있습니다.react-scripts뿐만 아니라.

https://github.com/facebook/create-react-app/releases/tag/v5.0.0

방방 the the the the the를 했습니다.npm install --dev eslint-config-react-app이치노, 「」를 사용합니다.--include=dev--dev.

또한 다음 명령을 사용하여 Dev 종속성을 설치합니다.

npm install --save-dev eslint-config-react-app eslint@^8.0.0

다음 '보다 낫다'라는 보세요..eslintrc.json프로젝트의 루트 폴더에 다음 내용을 포함합니다.

{
  "extends": "react-app"
}

출처: https://www.npmjs.com/package/eslint-config-react-app

은 아마도 않을 저 5와 로 OP는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★^7.32.0로로 합니다.^8.7.0을 잊었습니다.eslint-plugin-react ★★★★★★★★★★★★★★★★★」eslint-plugin-react-hooks새로고침 시 파일 변경 시 위의 오류가 발생하였습니다.「 」로 ^7.28.0 ★★★★★★★★★★★★★★★★★」^4.3.0각각 제 문제를 해결했어요.

이 문제를 해결한 것은 단말기에서 CD로 입력하는 경로가 실제 경로와 동일한 대문자로 표시되도록 하는 것이었습니다.

답변을 에 먼저 '열어주세요'를 .package.jsonCntrl + S이치노 그것은 나에게 효과가 있었습니다.

하고 있는 .yarn.lock 실행 명령어:

yarn install

그러면 .lock 파일이 재구축되고 오류가 사라집니다.

업데이트되지 않은 eslint 때문에요.패키지의 eslint 버전을 7.0.0에서 8.0.0으로 변경했을 뿐입니다.json이 나를 위해 일하거나 당신이 npm을 사용하여 CLI에서 업데이트하십시오.

저는 업데이트 후 작동했습니다.

"eslint-plugin-react": "7.29.4",
"eslint-plugin-jsx-a11y": "6.5.1"

, 의package-lock.json ★★★★★★★★★★★★★★★★★」node_modules패키지를 재설치합니다.

.eslintrc에 추가하면 잘 동작합니다.JSON 파일

이 링크는 더 많은 도움이 될 수 있습니다. 여기를 클릭하세요.

은 큰 오류가 .이를 실행하면 .이 명령어를 실행하면 됩니다.npm install --prefer-dedupe 이 .npm config set prefer-dedupe true그러면 당신의 실수는 해결될 것입니다.이건 버전만의 문제가 아니라고 생각하실 수도 있습니다.너도 이렇게 달릴 수 있어npm install dedupe이치노

이 답변 후에 당신의 오류를 해결하셨기를 바랍니다.

패키지로부터.삭제한 json:

"eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  }

다음 서버를 했습니다.npm start내 웹 앱이 다시 작동한다.

도움이 되었으면 좋겠다

(CRA 5.0.0에서 동작하고 있는) 프로젝트에서 당신의 설정을 사용하려고 했지만, 이 에러는 수신되지 않았습니다.eslint 관련 패키지를 하나 또는 여러 개 업데이트하지 않은 것이 문제라고 생각합니다.업데이트를 시도할 수 있습니다.

yarn add -D \
eslint@^8.6.0 \
@typescript-eslint/eslint-plugin@^5.9.0 \
@typescript-eslint/parser@^5.9.0 \
eslint-plugin-react@^7.28.0 \
eslint-config-react@^1.1.7 \
eslint-config-airbnb@^19.0.4

★★★★★★★★★★★★★★★★★」npm installyarn addnpmnpm을 사용하는

을 강등했습니다.eslint-config-react-app 「」에서7.0.0로로 합니다.6.0.0:

yarn add --dev eslint-config-react-app@6.0.0 

또는

npm install --dev eslint-config-react-app@6.0.0 

이게 도움이 될지도 몰라

eslint-plugin-react를 버전 7.28.x에서 7.29.x로 업데이트만 하면 됩니다.

env 변수를 사용하여 이 문제를 해결할 수 있었습니다.

eslint는 개발 의존성으로 설치했습니다(사용하는 다른 모든 플러그인도 마찬가지).

개발 중에 코드를 보풀로 만들지 않으려면 .env.development에 ESLINT_NO_DEV_ERRORS = true를 추가합니다.

프로덕션 빌드에서 eslint를 완전히 비활성화하려면 .env.production에 DISABLE_ESLINT_PLUGIN = true를 추가합니다.

제가 직면한 문제는 조금 다르지만 구글 검색에서 이 페이지로 이동하기 때문에 이 답변을 여기에 올립니다.

간단한 답변:

프로젝트가 .net 프로젝트 내에 있는 경우 폴더 구조의 케이스 차이를 확인합니다.

장답

셋업:

우리는 .net 핵심 프로젝트 내에서 호스팅되는 Create react 앱을 이용한 리액트 앱을 가지고 있습니다.따라서 프로젝트 빌드를 처음 실행하면 비주얼 스튜디오에서 npm 설치를 실행하고 npm을 시작합니다.페이지가 열리고 오류가 발생합니다.

오류:

[eslint] Plugin "react" was conflicted between "package.json » eslint-config-react-app » C:\test folder\New folder\src\WatchCasing\ClientApp\node_modules\eslint-config-react-app\base.js" and "BaseConfig » C:\test folder\New folder\src\watchCasing\ClientApp\node_modules\eslint-config-react-app\base.js".

"watchCasing" 폴더 이름은 WatchCasing이고 다른 폴더 이름은 watchCasing입니다.나는 분명히 이 케이스의 차이를 놓쳤지만, 이 github 답변을 읽을 때까지: github answer.

원인과 해결 방법:

문제의 근본 원인은 솔루션 파일(.sln)의 케이스가 잘못되어 있었지만(누군가 부적절한 이름을 변경했기 때문에) Windows에서는 파일을 대소문자를 구분하지 않기 때문에 프로젝트가 정상적으로 구축되었기 때문입니다.

이 문제는 솔루션 파일의 케이스를 프로젝트 섹션의 실제 폴더 케이스와 일치하도록 수정함으로써 해결되었습니다.

Project("{project-guid}") = "project.name", "watchCasing\project.name.csproj", "{different-guid}"

프로젝트 종료

오늘 저는 문제에 부딪혔고 감사 수정 프로그램을 실행한 후 npm의 시작은 작동하지 않았지만 절차와 이면에 있는 이유를 설명하는 사랑스러운 긴 메시지를 받았습니다.나는 그것이 도움이 되었고 내 문제를 해결했다.

프로젝트 종속성 트리에 문제가 있을 수 있습니다.Create React App의 버그가 아니라 로컬에서 수정해야 하는 문제일 수 있습니다.

Create React App에서 제공하는 react-scripts 패키지에는 다음과 같은 종속성이 필요합니다.

"eslint" : "5.6.0"

수동으로 설치하지 마십시오. 패키지 관리자가 자동으로 설치합니다.다만, 다른 버전의 eslint가 트리 상부에서 검출되었습니다.

C:\Users\rohad\데스크탑\project\node_modules\eslint (버전: 8.10.0)

호환되지 않는 버전을 수동으로 설치하면 디버깅하기 어려운 문제가 발생하는 것으로 알려져 있습니다.

이 체크를 무시하려면 프로젝트의 .env 파일에 SKIP_PREFLIT_CHECK=true를 추가하십시오.이 메시지는 영구적으로 비활성화되지만 다른 문제가 발생할 수 있습니다.

의존관계 트리를 수정하려면 다음 절차를 정확히 순서대로 수행하십시오.

  1. 프로젝트 폴더에서 package-lock.json(package.json!이 아님) 및/또는 yarn.lock을 삭제합니다.
  2. 프로젝트 폴더에서 node_modules를 삭제합니다.
  3. 패키지의 의존관계 및/또는 devDependency에서 "eslint"를 제거합니다.json 파일을 프로젝트 폴더에 저장합니다.
  4. 사용하는 패키지 매니저에 따라 npm install 또는 yarn을 실행합니다.

대부분의 경우 이 정도면 문제를 해결할 수 있습니다.그래도 문제가 해결되지 않으면 몇 가지 다른 방법을 시도해 볼 수 있습니다.

  1. npm 을 사용하고 있는 경우는, 실(http://yarnpkg.com/) 를 인스톨 해, 대신에 위의 순서를 반복합니다.이는 npm이 패키지 호이스트에 관한 기존의 문제를 가지고 있기 때문에 도움이 될 수 있습니다.이 문제는 향후 버전에서 해결될 가능성이 있습니다.

  2. C가 다음 중 하나인지 확인합니다.\Users\rohad\Desktop\project\node_modules\eslint가 프로젝트 디렉토리 외부에 있습니다.예를 들어 홈 폴더에 실수로 무언가를 설치했을 수 있습니다.

  3. 프로젝트 폴더에서 npm ls eslint를 실행해 보십시오.eslint 가 설치되어 있는 다른 패키지(예상 리액트스크립트 제외)가 표시됩니다.

다른 문제가 없으면 프로젝트의 .env 파일에 SKIP_PREFLIT_CHECK=true를 추가합니다.이렇게 하면 계속 진행하려는 경우에 대비하여 이 비행 전 검사가 영구적으로 비활성화됩니다.

추신. 이 메시지가 길다는 것을 알지만 위의 단계를 읽어주세요:-) 도움이 되길 바랍니다!

저 같은 경우에는 모든 것이 최신 버전으로 업데이트 되었습니다만, 같은 에러가 발생했습니다.

잠금 파일을 삭제한 후 작동하기 시작했습니다.

에 일관성이 되어 있기 에 이 ..eslintrc.yml ★★★★★★★★★★★★★★★★★」package.jsonCRA 5.0다음.

"eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },

이상한 tbh.

Vercel에 전개하는 동안 이 컴파일 오류가 계속 발생했습니다.eslintrc .eslintrc lesesesesesesesesjjj jesjj jjj jjjjson : json :"eslintConfig": { "extends": [ "react-app", "react-app/jest" ] },

많은 솔루션을 시도했지만, 결국 CRA 내부에서 ESLint를 무효화함으로써 해결되었습니다.어차피 IDE에서는 ESLint를 사용하고 있기 때문에, 거기에 대해서도 필요 없습니다.

이 다른 스레드는 도움이 되었습니다.https://stackoverflow.com/a/70830899/5613884

이것이 나에게 효과가 있었던 해결책이다.

잠금 파일만 제거하면 작동하지 않을 수 있습니다.eslint에서 일부 패키지를 삭제하기만 하면 됩니다.

이것이 패키지의 Dev 의존성 목록입니다.같은 에러의 원인이 되고 있는 json.

"devDependencies": {
    "@babel/eslint-parser": "7.17.0",
    "@babel/preset-react": "7.16.7",
    "eslint": "8.14.0",
    "eslint-config-airbnb": "18.2.0",
    "eslint-config-prettier": "8.5.0",
    "eslint-plugin-html": "6.2.0",
    "eslint-plugin-import": "2.26.0",
    "eslint-plugin-jsdoc": "39.2.8",
    "eslint-plugin-jsx-a11y": "6.5.1",
    "eslint-plugin-prettier": "4.0.0",
    "eslint-plugin-react": "7.29.4",
    "eslint-plugin-react-hooks": "4.4.0",
    "eslint-plugin-testing-library": "5.3.1",
    "husky": "7.0.4",
    "lint-staged": "12.4.0",
    "prettier": "2.6.2"
  }

불필요한 것을 삭제한 후, 여기 나에게 효과가 있었던 의존관계 리스트가 있습니다.

"devDependencies": {
    "@babel/eslint-parser": "7.17.0",
    "@babel/preset-react": "7.16.7",
    "eslint": "8.14.0",
    "eslint-config-airbnb": "18.2.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-config-react-app": "^7.0.1",
    "eslint-plugin-html": "^6.2.0",
    "eslint-plugin-jsdoc": "^39.3.0",
    "eslint-plugin-prettier": "^4.0.0",
    "husky": "7.0.4",
    "lint-staged": "12.4.0",
    "prettier": "2.6.2"
  }
  • Dev 종속성으로 대체합니다.
  • 잠금 파일과 node_modules를 삭제합니다.
  • 실/npm 설치를 다시 실행합니다.

행운을 빌어요

eslint-config-import를 사용하고 있었기 때문에 같은 문제가 발생하고 있었습니다.삭제만 하면 정상적으로 동작합니다.따라서 (react/jsx-runtime)가 문제의 원인이라고 생각합니다.

올바른 대문자로 cd를 입력하는 것이 나에게 효과가 있었다.

즉, 실제 경로가 /Documents/Websites/EXAMPLE/ex1인 경우 /Documents/Websites/example/ex1에 CD를 삽입하지 마십시오.

삭제 중"plugin:react/recommended" and/or "plugin:react/jsx-runtime" from "extends"고쳐야 해요

나는 달리기를 시도했다.npx yarn-deduplicate && yarn@glenn-mohammad에서 제안한 대로 구문 오류만 표시했습니다.실 2를 사용하는 경우는, 대신에 실행해 주세요.

yarn dedupe

문서에 대해서는, https://yarnpkg.com/cli/dedupe 를 참조해 주세요.

처음 실행했을 때 모든 패키지에서 실행했는데 babel에서 새로운 오류가 발생했습니다.이 경우 문제가 있는 패키지에서만 실행해 보십시오.

PNPM에 의한 모노레포에서도 비슷한 문제가 있었습니다.의 동일한 프로젝트가 ..eslint.rc files및 eslint, 플러그인 및 구성에 대해 동일한 의존관계 세트를 제공합니다. 중 는 다음과 문제가 .

ESLint: Plugin "@typescript-eslint" was conflicted between ".eslintrc.js#overrides[0]" and ".eslintrc.js#overrides[0] » eslint-config-airbnb-typescript 

해봤어요.roottrue였습니다. 버전 및 했습니다).두이 ESLint에 만이 유일하게 .결국 효과가 있었던 것은 두 프로젝트에 동일한 Typscript 의존성 버전이 잠겨 있는지 확인하는 것이었습니다.4.9.5패키지 중 하나가 켜져 있었다.4.8.4에스린트

최근에 실행한 작업은 CRA 5+를 사용하여 새로운 reat-app 프로젝트를 만들고 새 폴더 내의 모든 파일과 구성을 이동하는 것입니다.

언급URL : https://stackoverflow.com/questions/70449712/create-react-app-error-in-plugin-react-was-conflicted-between-eslintrc-jso

반응형