Sto riscontrando un problema con Babel che costruisce un'app angolare per la produzione


15

Comportamento attuale Sto sviluppando il mio progetto angolare su circleci e continua a fallire con il seguente messaggio: Si è verificata un'eccezione non gestita: Impossibile trovare il modulo '@ babel / compat-data / corejs3-spedito-proposte'

Richiedi stack:

/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

sto usando

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

ecco npx nls why @ babel / preset-env output:

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

Grazie per aver letto.

Risposte:


6

Ho avuto lo stesso problema oggi, quindi presumo che ci sia qualcosa di strano nell'ultima versione.

My package.json aveva il seguente:

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

Ho rimosso ~ per forzare 7.9.0 invece di consentirne di nuovi e ha fatto il trucco per me.

Probabilmente c'è una versione più recente che funziona, ma da quando hai aperto un problema per loro ( https://github.com/babel/babel/issues/11427 ) aspetterò solo maggiori dettagli.


1
Sto esaminando lo stesso numero, è strano perché quella biblioteca non @babel/runtime-corejs3è stata pubblicata da settimane
alex88,

1
Ci ho provato e ancora non ha funzionato per me
Farid Garciayala il

1
@FaridGarciayala nel mio caso ho dovuto dichiarare e utilizzare 7.9.0 che ha risolto il problema
alex88

@FaridGarciayala dovrebbe funzionare (7.8 / 7.9) ma prova a cancellare "node_modules" prima
Bruno Wolff,

Stesso problema oggi. Il problema è solo nel server di build, non nelle installazioni pulite a livello locale ...
cuniculus

5

Ho lo stesso problema quando si utilizza TravisCI & Vue con Jest e Babel. La mia tuta di prova non ha funzionato. L'aggiunta "@babel/compat-data": "7.9.0"a devDependencies nel mio file package.json ha risolto i miei problemi.


Grazie. Questo mi ha aiutato a correggere la mia suite di test non riuscita su CI.
Miroslav Jonas,

4

Queste 3 opzioni che abbiamo trovato finora:

  • Adatta la dipendenza di babel / preset-env alla v7.9.0: "@babel/preset-env": "=7.9.0"
  • Nel caso in cui utilizzi un'immagine Docker di NodeJS, correggi la versione su un valore inferiore a 13.13, ovvero: node:13.12.0-alpine
  • Aggiunta o aggiornamento "@babel/compat-data": "7.9.0"a devDependencies

Le soluzioni sono temporaneamente e devono essere rimosse non appena esiste una correzione effettiva delle immagini del nodo o della libreria babel / preset-env.

Problemi di Github collegati:

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

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


2

Ho avuto lo stesso problema oggi nella build di Github Actions per un progetto Vue FE. Si costruisce bene localmente. Proverò la soluzione sopra e riporterò indietro ...

Aggiornamento: Dopo aver esaminato il file di blocco del pacchetto, la mia soluzione era quella di aggiungere esplicitamente "@ babel / compat-data" alle dipendenze prod. In precedenza era solo una dipendenza per alcune dipendenze degli sviluppatori. Quindi il mio package.json ora assomiglia a:

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

1

Stesso problema. Risolto seguendo i consigli sopra + rimuovendo node_modules (vedi questo thread github):

  • Aggiunto esplicitamente @babel/compat-data": "7.9.0"a devDependencies
  • Nodo aggiornato (da 13.3 a 14.0 nel mio caso)
  • Ho dovuto rimuovere la mia cartella node_modules e rieseguire yarn(o npm)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.