프로덕션 용 babel 빌드 각도 앱에 문제가 있습니다.


15

현재 동작 circleci에서 각도 프로젝트를 작성 중이며 다음 메시지와 함께 계속 실패합니다. 처리되지 않은 예외가 발생했습니다 : '@ babel / compat-data / corejs3-shipped-proposals'모듈을 찾을 수 없습니다.

스택 필요 :

/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/polyfills/corejs3/usage-plugin.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/preset-env/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/plugins.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/config/files/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/node_modules/@babel/core/lib/index.js
/home/circleci/eleven-app/frontend/node_modules/@angular-devkit/build-angular/src/utils/process-bundle.js
/home/circleci/eleven-app/frontend/node_modules/jest-worker/build/workers/processChild.js

나는 사용하고있다

{
  "@babel/plugin-proposal-numeric-separator": "^7.8.3",
  "core-js": "3.2.1",
  "tslib": "^1.11.1",
  "@babel/compat-data": "~7.8.0",
  "@babel/runtime-corejs3": "^7.9.2",
  "ts-node": "7.0.0",
  "tslint": "5.11.0",
  "typescript": "3.5.3",
}
resolutions: {
  "@babel/preset-env": "^7.8.7"
}

@ babel / preset-env 출력이 왜 npx nls입니까?

eleven-app-frontend > @angular-devkit/build-angular > @babel/preset-env@7.8.7
eleven-app-frontend > @nrwl/angular > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/preset-env@7.9.5
eleven-app-frontend > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/preset-env@7.9.5

읽어 주셔서 감사합니다.

답변:


6

오늘도 같은 문제가 있었으므로 최신 버전에 이상한 것이 있다고 가정합니다.

내 package.json에는 다음이 있습니다.

"@babel/compat-data": "~7.9.0"

나는 새로운 것을 허용하는 대신 7.9.0을 강제로 ~를 제거하고 나를 속임수로 만들었습니다.

아마도 새로운 버전이 작동하지만 아마도 문제를 연 이후 ( https://github.com/babel/babel/issues/11427 ) 자세한 내용을 기다릴 것입니다.


1
나는 같은 문제를 조사하고있다. 도서관 @babel/runtime-corejs3이 몇 주 안에 출판되지 않았기 때문에 이상하다
alex88

1
나는 그것을 시도하고 여전히 나를 위해 작동하지 않았다
Farid Garciayala

1
내 경우에는 @FaridGarciayala 문제를 해결 한 7.9.0를 선언하고 사용해야했습니다
alex88

@FaridGarciayala 작동하지만 (7.8 / 7.9) "node_modules"를 삭제 해보십시오
Bruno Wolff

오늘도 같은 문제입니다. 문제는 빌드 서버에서만 발생하며 로컬에서 새로 설치하지는 않습니다.
cuniculus

5

Jest 및 Babel과 함께 TravisCI & Vue를 사용할 때도 같은 문제가 있습니다. 테스트 슈트가 실패했습니다. 추가 "@babel/compat-data": "7.9.0"devDependencies 내에서 package.json의 파일은 내 문제를 해결했다.


감사합니다. 이를 통해 CI에서 실패한 테스트 스위트를 수정하는 데 도움이되었습니다.
Miroslav Jonas

4

우리가 지금까지 생각해 낸이 3 가지 옵션 :

  • babel / preset-env의 종속성을 v7.9.0에 맞게 조정하십시오. "@babel/preset-env": "=7.9.0"
  • NodeJS Docker Image를 사용하는 경우 버전을 13.13 이하로 수정하십시오. node:13.12.0-alpine
  • "@babel/compat-data": "7.9.0"devDependencies에 추가 또는 업그레이드

솔루션은 일시적으로 노드 이미지 또는 babel / preset-env 라이브러리의 실제 수정이 이루어지면 즉시 제거해야합니다.

연결된 Github 문제 :

babel- https: //github.com/babel/babel/issues/11427

nodejs- https: //github.com/nodejs/node/issues/32852#issuecomment-613652057


2

Vue FE 프로젝트를 위해 Github Actions 빌드에서 동일한 문제가 발생했습니다. 로컬에서 잘 빌드됩니다. 위의 해결책을 시도하고 다시보고 할 것입니다 ...

업데이트 : 패키지 잠금 파일을 살펴본 후 내 솔루션은 명시 적으로 "@ babel / compat-data"를 prod 종속성에 추가하는 것이 었습니다. 이전에는 일부 개발자 종속성에 대한 종속성이었습니다. 따라서 내 package.json은 다음과 같습니다.

"dependencies": {
  "@babel/compat-data": "^7.8.6",
  ...

1

같은 문제입니다. 위의 조언을 따라 해결하고 node_modules를 제거하십시오 ( github 스레드 참조 ).

  • @babel/compat-data": "7.9.0"devDependencies에 명시 적으로 추가
  • 업그레이드 된 노드 (필자의 경우 13.3에서 14.0로)
  • node_modules 폴더제거 하고 다시 실행했습니다 yarn(또는 npm).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.