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/[email protected]
eleven-app-frontend > @nrwl/angular > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/[email protected]
eleven-app-frontend > @nrwl/cypress > @cypress/webpack-preprocessor > @babel/[email protected]

Danke fürs Lesen.

Farid Garciayala
quelle

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.

Bruno Wolff
quelle
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.

Wojciech Kasperski
quelle
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

Zerocewl
quelle
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",
  ...
Séverin Beauvais
quelle
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)
SofienM
quelle