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


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