플러그인 '제안-숫자 분리기'를 찾을 수 없습니다


60

해결 방법 Could not find plugin "proposal-numeric-separator", React 응용 프로그램을 만들려고 할 때이 오류가 발생하지만 응용 프로그램을 아직 꺼내지 않았습니다.

./src/index.js
Error: [BABEL] /home/pc/Downloads/project/src/index.js: Could not find plugin "proposal-numeric-separator". Ensure there is an entry in ./available-plugins.js for it. (While processing: "/home/pc/Downloads/project/node_modules/babel-preset-react-app/index.js$0")
    at Array.map (<anonymous>)
    at Generator.next (<anonymous>)
    at Generator.next (<anonymous>)


error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Babel 및 종속성 제안 숫자 구분 기호를 다운로드하고 노드 모듈을 제거하고 원사 캐시를 정리하려고했습니다. 그러나 아무것도 효과가 없었습니다.

Yarn 1.22.4 및 Node 13.11.0을 사용하고 있지만 NPM 6.13.7에서도 시도했습니다.


5
같은 문제가 있습니다. +1
— peoplespete

2
다른 사람들도 같은 문제를 겪고 있습니다 : reddit.com/r/angular/comments/flymj5/build_failing_please_help 제안 된 해결책이 저에게 효과적이지 않았습니다.
— peoplespete

답변:


45

다음 작품

  1. 더하다 "resolutions": { "@babel/preset-env": "7.5.5" },

    에 package.json.

  2. 운영 npx npm-force-resolutions

  3. npm install또는을 실행하십시오yarn .

  4. yarn build프로젝트를 빌드하기 위해 실행

이 Github 이슈를 살펴보십시오


1
방금 추가 resolutions하고 node_modules를 제거 하고 종속성을 설치했습니다. 고마워요 관찰 : 빌드를 테스트했으며 모든 것이 정상입니다.
— 월터

1
넌 내 생명을 구해 이 답변에 대해 어떻게 알 수 있습니까? 당신은 내 멋진 친구를 얻었습니다. 고마워
— 카를로스 Querioz

1
@CarlosQuerioz 나는 그 이유 가이 문서 의 마지막 주제라고 생각합니다 . "종속성은 광범위한 버전 범위를 정의하고 하위 종속성은 문제가있는 업데이트를 얻었으므로 이전 버전으로 고정하고 싶습니다"
— Walter

1
일했다! 2020 년 3 월 24 일
— Josh

2
@ user3746480 그것은 babel 의존성에 문제가 있습니다. 가장 가능한 원인은 노드 모듈을 제거하거나 업데이트하는 것일 수 있습니다. 특정 작업 버전을 적용하면 문제가 해결되는 이유
— Hillkim Henry


15

create-react-app 의 해당 문제 에서

package.json 파일에서 react-scripts를 3.4.1로 업데이트하고 package_lock.json / yarn.lock뿐만 아니라 node_modules를 제거한 후 다시 설치하십시오.


나에게도 효과가 있습니다. 더 간단하다고 생각합니다.
— 카를로스 케리 오즈

10

이 문제가 발생한 이유는 무엇 입니까? :

에서 사용하는 내부 패키지 간의 충돌 문제입니다 babel.

새 플러그인을 추가하면 @babel/compat-data이전 @babel/preset-env버전 이 중단 됩니다. 이는 플러그인을 preset-env반복하고 compat-data, 플러그인이 preset-env available-plugins.js파일에 정의되어 있지 않으면 발생 합니다.

이것은 문제를 해결 한 병합입니다 : https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

해결책 :

  • 삭제 package-lock.json또는yarn.lock
  • node_modules폴더 삭제
  • 에서 package.jon나는 이러한 패키지의 버전 번호를 조정 한 :
    ...
    "devDependencies": {
        "@babel/compat-data": "^7.8.0",
        "@babel/preset-env": "^7.8.0",
        "babel-loader": "^8.1.0",
        ...
    },
    ...
    "resolutions": {
        "@babel/preset-env": "^7.8.0"
    }
  • 운영 npm install
  • 운영 npm run build


6

참조 : https://github.com/angular/angular-cli/issues/17262

두 가지 해결책을 찾았습니다.

a) babel compat 설치

"devDependencies": {
    "@babel/compat-data": "7.8.0",
} 

b) 플러그인 제안 숫자 분리기를 설치하십시오

npm install --save-dev @babel/plugin-proposal-numeric-separator

이 버전 만 설치 7.8.0

  1. Angular CLI는 이런 종류의 문제를 만들 수 있습니다. 패키지 json으로 이동하여 다음으로 변경하십시오.

    빌드 각도 ":"0.803.17 "

^ 또는 ~를 추가하지 마십시오 .


6

나를 위해 일한이 명령을 사용할 수 있습니다.

npm i @babel/compat-data@7.8.0

고마워요! 효과가 있었다!
— Gaurav Gupta

5

비슷한 문제가 발생하여 모든 babel 종속성을 최신 버전으로 업데이트하여 문제를 해결할 수있었습니다. babel의 정확한 문제를 알지 못합니다. 그러나 아래 언급 한 단계가 저에게 효과적이었습니다.

1 단계 : package.json에서 모든 babel 관련 종속성 식별 및 제거

npm remove @babel/runtime @babel/core @babel/plugin-proposal-class-properties @babel/plugin-transform-modules-commonjs @babel/plugin-transform-runtime @babel/preset-env @babel/preset-react babel-eslint babel-jest babel-loader

2 단계 : babel 종속성을 다시 설치

npm install --save @babel/runtime

npm install --save-dev @babel/core @babel/plugin-proposal-class-properties @babel/plugin-transform-modules-commonjs @babel/plugin-transform-runtime @babel/preset-env @babel/preset-react babel-eslint babel-jest babel-loader

추신 : 위의 바벨 의존성 목록은 프로젝트마다 다릅니다.




4

그것은 단지 4 단계 과정입니다.

이유 : babel에 패키지가 없기 때문에 발생합니다. 이것은 ng new명령을 사용하여 각도 앱을 생성하더라도 발생합니다 .

해결책

  1. plugin-proposal-numeric-separator터미널에 다음 코드를 사용하여 설치 하십시오.

    npm install --save @babel/plugin-proposal-numeric-separator
  2. 완료되면 아래와 같이 파일을 탐색하십시오.

    node_modules> @babel> preset-env> available-plugins.js

  3. 아래 available-plugins.js exports.default = void 0;에서 다음 코드를 복사하여 붙여 넣습니다.

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
  4. var _default객체 선언 내 available-plugins.js에서 다음 코드를 복사하여 붙여 넣습니다.

    "proposal-numeric-separator": _pluginProposalNumericSeparator.default,

그리고 그것은 끝났습니다.


나는 그것이 유효한 해결책이 아니라고 생각합니다. stackoverflow.com/questions/60780664/…
— Gerardo Perrucci

4

angular 8 응용 프로그램에서는 react-scripts 패키지에 직접적인 의존성이 없었지만 패키지에 포함되어 있지 않지만 package.json빌드 시이 오류가 발생하기 시작했습니다. 다른 패키지에 의해 지연으로 사용되었을 가능성이 있습니다.

github 에서이 게시물을 읽음으로써 package.json에 의존성으로 추가하고 "react-scripts": "3.4.1"npm install을 실행하면 빌드가 정상적으로 시작되었습니다.



0

SKIP_PREFLIGHT_CHECK=true.env추출하지 않고 빌드 작업을 하려면 파일 에 추가 하고 아래 단계를 따르십시오.

  • 삭제 node_modules및package-lock.json
  • 추가 "resolutions": { "@babel/preset-env": "^7.8.7" }로package.json
  • 운영 npm install npm-force-resolutions --save-dev
  • 운영 npm install
  • 운영 npx npm-force-resolutions
  • npm install다시 실행
  • 운영 npm run build

-2

방금 나에게 이런 일이 일어났다. 그것을 고치기 위해 yarn buildsudo 권한으로 실행 했습니다.


이것은 나를 위해 작동하지 않았습니다.
— peoplespete

여기서 일하지 마십시오
— Walter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.