Ich habe ein Problem mit Babel Building Angular App für die Produktion


15

Aktuelles Verhalten Ich baue mein eckiges Projekt auf circleci auf und es schlägt immer wieder mit der folgenden Meldung fehl: Eine nicht behandelte Ausnahme ist aufgetreten: Das Modul '@ babel / compatible-data / corejs3-shipped-Vorschläge' kann nicht gefunden werden.

Stapel erforderlich:

/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

ich benutze

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

hier ist npx nls warum @ babel / preset-env ausgeben:

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

Danke fürs Lesen.

Antworten:


6

Hatte heute das gleiche Problem, also gehe ich davon aus, dass die neueste Version etwas Seltsames enthält.

Meine package.json hatte Folgendes:

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

Ich habe das ~ entfernt, um 7.9.0 zu erzwingen, anstatt neuere zuzulassen, und es hat den Trick für mich getan.

Es gibt wahrscheinlich eine neuere Version, die funktioniert, aber da Sie ein Problem für sie geöffnet haben ( https://github.com/babel/babel/issues/11427 ), werde ich nur auf weitere Details warten.


1
Ich sehe mir das gleiche Problem an, es ist seltsam, weil diese Bibliothek @babel/runtime-corejs3seit Wochen nicht mehr veröffentlicht wurde
alex88

1
Ich habe das versucht und es hat immer noch nicht funktioniert
Farid Garciayala

1
@FaridGarciayala In meinem Fall musste ich 7.9.0 deklarieren und verwenden, wodurch das Problem
behoben wurde

@FaridGarciayala es sollte funktionieren (7.8 / 7.9), aber versuchen Sie, "node_modules" vorher zu löschen
Bruno Wolff

Gleiches Problem heute. Das Problem tritt nur beim Build-Server auf, nicht bei lokalen Neuinstallationen ...
cuniculus

5

Ich habe das gleiche Problem bei der Verwendung von TravisCI & Vue mit Jest und Babel. Mein Testanzug ist ausgefallen. Das Hinzufügen "@babel/compat-data": "7.9.0"zu devDependencies in meiner package.json- Datei löste meine Probleme.


Vielen Dank. Dies hat mir geholfen, meine fehlerhafte Testsuite auf CI zu beheben.
Miroslav Jonas

4

Diese 3 Optionen haben wir uns bisher ausgedacht:

  • Passen Sie die Abhängigkeit von babel / preset-env an v7.9.0 an: "@babel/preset-env": "=7.9.0"
  • Wenn Sie ein NodeJS Docker-Image verwenden, korrigieren Sie die Version auf einen Wert unter 13.13, dh: node:13.12.0-alpine
  • Hinzufügen oder Aktualisieren "@babel/compat-data": "7.9.0"von devDependencies

Die Lösungen sind vorübergehend und sollten entfernt werden, sobald die Knotenbilder oder die babel / preset-env-Bibliothek tatsächlich repariert wurden.

Verknüpfte Github-Probleme:

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

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


2

Ich hatte heute das gleiche Problem in Github Actions Build für ein Vue FE-Projekt. Es baut gut vor Ort. Ich werde die obige Lösung ausprobieren und mich melden ...

Update: Nachdem ich die Paketsperrdatei durchgesehen hatte, bestand meine Lösung darin, den Produktabhängigkeiten explizit "@ babel / compatible-data" hinzuzufügen. Bisher war es nur eine Abhängigkeit für einige Entwicklungsabhängigkeiten. Meine package.json sieht jetzt so aus:

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

1

Gleicher Fehler. Behebung durch Befolgen der obigen Hinweise + Entfernen von node_modules (siehe diesen Github-Thread):

  • Explizit @babel/compat-data": "7.9.0"zu devDependencies hinzugefügt
  • Aktualisierter Knoten (13.3 bis 14.0 in meinem Fall)
  • Musste meinen Ordner node_modules entfernen und erneut ausführen yarn(oder npm)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.