Impossibile trovare il plug-in "proposta-separatore-numerico"


61

Come risolvere Could not find plugin "proposal-numeric-separator", ottengo questo errore quando provo a compilare la mia applicazione React, non ho ancora espulso l'applicazione:

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

Ho provato a scaricare Babel e il separatore numerico della proposta di dipendenza, rimuovere i moduli di nodo, pulire la cache del filato; ma niente ha funzionato.

Sto usando Yarn 1.22.4 e Nodo 13.11.0, ma ho anche provato con NPM 6.13.7.


5
Sto avendo lo stesso problema. +1
peoplespete

2
Altre persone hanno lo stesso problema: reddit.com/r/angular/comments/flymj5/build_failing_please_help La soluzione suggerita non ha funzionato per me.
peoplespete,

Risposte:


46

I seguenti lavori

  1. Inserisci "resolutions": { "@babel/preset-env": "7.5.5" },

    a package.json.

  2. Correre npx npm-force-resolutions

  3. Esegui npm install o yarn.

  4. Corri yarn buildper costruire il tuo progetto

Dai un'occhiata a questo numero di Github


1
Appena aggiunto resolutions, rimosso node_modules e installato le dipendenze. Ha funzionato, grazie. Osservazione : ho testato la build e tutto è ok.
Walter,

1
amico, mi hai salvato la vita. Come fai a sapere di questa risposta? Hai il mio fantastico amico, amico. Molte grazie.
Carlos Querioz,

1
@CarlosQuerioz Penso che il motivo sia l'ultimo argomento di questa documentazione: "La tua dipendenza definisce un ampio intervallo di versioni e la tua sub-dipendenza ha appena ricevuto un aggiornamento problematico, quindi vuoi fissarlo a una versione precedente"
Walter,

1
lavorato! 24 marzo 2020
Josh

2
@ user3746480 È un problema con le dipendenze della babele. La causa più probabile potrebbe essere la rimozione o l'aggiornamento dei moduli del nodo. Ecco perché l'applicazione di una determinata versione funzionante lo risolve
Hillkim Henry il


15

Dal problema corrispondente in create -eagire-app,

Aggiornare reag-script a 3.4.1 nel file package.json e rimuovere node_modules nonché package-lock.json / yarn.lock e reinstallare.


Funziona anche per me. Penso che sia stato più semplice.
Carlos Querioz

10

Perché questo problema si è verificato ?

È una questione di conflitti tra i pacchetti interni utilizzati da babel.

Aggiunta di un nuovo plug-in per @babel/compat-datainterrompere le @babel/preset-envversioni precedenti. Questo perché preset-envscorre ripetutamente compat-datai plugin e genera se il plugin non è definito nel file preset-env available-plugins.js.

Questa è la fusione che ha risolto il problema: https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

Soluzione :

  • Elimina package-lock.jsonoyarn.lock
  • Elimina node_modulescartella
  • In package.jonho adattato i numeri di versione di questi pacchetti a:
    ...
    "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"
    }
  • Correre npm install
  • Correre npm run build

6

Ho appena cambiato la versione di script di reazione da 3.0.1 a 3.4.1


2
Stavo già usando questa versione (:
Walter

6

Riferimento: https://github.com/angular/angular-cli/issues/17262

Ho trovato due soluzioni

a) Installare babel compat

"devDependencies": {
    "@babel/compat-data": "7.8.0",
} 

b) Installa plugin-proposta-numero-separatore

npm install --save-dev @babel/plugin-proposal-numeric-separator

installa questa versione solo 7.8.0

  1. La CLI angolare può creare questo tipo di problema. Vai al pacchetto json e modificalo in

    build-angular ":" 0.803.17 "

per favore non aggiungere ^ o ~ .


6

Puoi usare questo comando, che ha funzionato per me.

npm i @babel/compat-data@7.8.0

Grazie uomo! Ha funzionato!
Gaurav Gupta,

5

Ho riscontrato un problema simile e sono stato in grado di risolverlo aggiornando tutte le dipendenze di babel all'ultima versione. Non sono a conoscenza dell'esatto problema con Babel. Tuttavia, il passaggio di seguito indicato ha funzionato per me.

Passaggio 1: identificare e rimuovere tutte le dipendenze relative a babel da package.json

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

Passaggio 2: reinstallare le dipendenze 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

PS: l'elenco sopra delle dipendenze babel differirà per il tuo progetto.


5

Sto usando angular e questo ha funzionato per me, ho semplicemente cambiato la versione di @ babel / compat-data da ^7.8.0a solo 7.8.0, il pacchetto-lock.json sta avendo una versione più recente che ha dei bug.

Inside package.json:

  "devDependencies": {
    "@babel/compat-data": "7.8.0",
}

1
si "@ babel / compat-data": "7.9.0", non funziona github.com/angular/angular-cli/issues/…
Gerardo Perrucci il


4

È solo un processo in 4 fasi.

Motivo: questo accade a causa della mancanza di un pacchetto in babel. Questo accadrà anche se crei un'app angolare usando il ng newcomando.

Soluzione

  1. Installare plugin-proposal-numeric-separatorutilizzando il seguente codice nel terminale.

    npm install --save @babel/plugin-proposal-numeric-separator
  2. Una volta fatto, vai al file come mostrato di seguito.

    node_modules> @babel> preset-env> available-plugins.js

  3. In available-plugins.js di seguito exports.default = void 0;copia e incolla il seguente codice.

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
  4. In available-plugins.js all'interno della var _defaultdichiarazione degli oggetti copia e incolla il seguente codice.

    "proposal-numeric-separator": _pluginProposalNumericSeparator.default,

Ed è fatto.


Penso che non sia una soluzione valida, segui questa discussione: stackoverflow.com/questions/60780664/…
Gerardo Perrucci,

4

Nella mia applicazione angolare 8, anche se non avevo alcuna dipendenza diretta dal pacchetto reag-scripts e non ce l'avevo nemmeno in, ma ho package.jsoniniziato a ottenere questo errore durante la compilazione. È stato probabilmente usato come depedance da altri pacchetti.

Leggendo questo post su github , l'ho aggiunto come dipendenza in package.json "react-scripts": "3.4.1"ed eseguo npm install la build ha iniziato a funzionare bene.


1

Questo ha funzionato per me:

  • Elimina package-lock.json
  • Elimina node_modules
  • Correre npm i

0

Aggiungi SKIP_PREFLIGHT_CHECK=trueal .envfile per far funzionare la build senza espellere e segui i passaggi seguenti:

  • Elimina node_modulesepackage-lock.json
  • Aggiungi "resolutions": { "@babel/preset-env": "^7.8.7" }apackage.json
  • Correre npm install npm-force-resolutions --save-dev
  • Correre npm install
  • Correre npx npm-force-resolutions
  • Corri di npm installnuovo
  • Correre npm run build

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.