No se pudo encontrar el complemento "propuesta-separador-numérico"

61

Cómo solucionarlo Could not find plugin "proposal-numeric-separator", recibo este error cuando intento compilar mi aplicación React, todavía no he expulsado la aplicación:

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

He intentado descargar Babel y el separador numérico de propuesta de dependencia, eliminar los módulos de nodo, limpiar el caché de hilo; Pero nada funcionó.

Estoy usando Yarn 1.22.4 y Node 13.11.0, pero también lo he intentado con NPM 6.13.7.

Walter
fuente
55
Estoy teniendo el mismo problema. +1
peoplepete
2
Otras personas tienen el mismo problema: reddit.com/r/angular/comments/flymj5/build_failing_please_help La solución sugerida no funcionó para mí.
peoplepete

Respuestas:

46

Los siguientes trabajos

  1. Añadir "resolutions": { "@babel/preset-env": "7.5.5" },

    a package.json.

  2. correr npx npm-force-resolutions

  3. Corre npm install o yarn.

  4. Corre yarn buildpara construir tu proyecto

Echa un vistazo a esta edición de Github

Hillkim Henry
fuente
1
Acabo de agregar resolutions, eliminar node_modules e instalar las dependencias. Funcionó, gracias. Observación : He probado la compilación y todo está bien.
Walter
1
hombre, me salvas la vida. ¿Cómo sabes acerca de esta respuesta? Tienes mi genial, amigo. Muchas gracias.
Carlos Querioz
1
@CarlosQuerioz Creo que la razón es el último tema de esta documentación: "Su dependencia define un amplio rango de versiones y su subdependencia acaba de recibir una actualización problemática, por lo que desea anclarla a una versión anterior"
Walter
1
¡trabajó! 24 de marzo de 2020
Josh
2
@ user3746480 Es un problema con las dependencias de babel. La causa más probable podría ser eliminar o actualizar módulos de nodo. Es por eso que la aplicación de una versión de trabajo determinada lo arregla
Hillkim Henry
15

Del problema correspondiente en create-react-app,

Actualice react-scripts a 3.4.1 en su archivo package.json y elimine node_modules, así como package-lock.json / yarn.lock y vuelva a instalar.

jobinbasani
fuente
A mí también me funciona. Creo que fue más simple.
Carlos Querioz
10

¿Por qué ocurrió este problema ?

Es una cuestión de conflictos entre paquetes internos utilizados por babel.

Agregar un nuevo complemento para @babel/compat-dataromper @babel/preset-envversiones anteriores. Esto se debe a que preset-envitera sobre compat-datalos complementos y los arroja si el complemento no está definido en el available-plugins.jsarchivo de preset-env .

Esta es la fusión que solucionó el problema: https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

Solución :

  • Eliminar package-lock.jsonoyarn.lock
  • Eliminar node_modulescarpeta
  • En package.jonHe ajustado los números de versión de estos paquetes 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"
    }
  • correr npm install
  • correr npm run build
Badis Merabet
fuente
6

Acabo de cambiar la versión react-script de 3.0.1 a 3.4.1

Beatriz Cibele
fuente
2
Ya estaba usando esta versión (:
Walter
6

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

Encontré dos soluciones

a) Instalar babel compat

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

b) Instalar plugin-propuesta-numeric-separator

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

instale esta versión solo 7.8.0

  1. La CLI angular puede crear este tipo de problema. Vaya al paquete json y cámbielo a

    build-angular ":" 0.803.17 "

por favor no agregue ^ o ~ .

Gajender Singh
fuente
6

Puedes usar este comando, que me ha funcionado.

npm i @babel/compat-data@7.8.0
M Danial
fuente
¡Gracias hombre! ¡Funcionó!
Gaurav Gupta
5

Me enfrenté a un problema similar y pude solucionarlo actualizando todas las dependencias de babel a la última versión. No estoy al tanto del problema exacto con Babel. Sin embargo, el paso mencionado a continuación funcionó para mí.

Paso 1: identifique y elimine todas las dependencias relacionadas con babel de 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

Paso 2: reinstale las dependencias de 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

PD: La lista anterior de dependencias de babel será diferente para su proyecto.

Meeraj Ahmed
fuente
5

Estoy usando angular y esto funcionó para mí, simplemente cambié la versión de @ babel / compat-data de ^7.8.0solo 7.8.0, el paquete-lock.json tiene una versión más nueva que tiene errores.

Paquete interior.json:

  "devDependencies": {
    "@babel/compat-data": "7.8.0",
}
Furqan S. Mahmoud
fuente
1
sí "@ babel / compat-data": "7.9.0", no funciona github.com/angular/angular-cli/issues/…
Gerardo Perrucci
4

Es solo un proceso de 4 pasos.

Motivo: Esto sucede debido a un paquete que falta en Babel. Esto sucederá incluso si crea una aplicación angular usando el ng newcomando.

Solución

  1. Instale plugin-proposal-numeric-separatorusando el siguiente código en la terminal.

    npm install --save @babel/plugin-proposal-numeric-separator
  2. Una vez hecho esto, navegue hasta el archivo como se muestra a continuación.

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

  3. En available-plugins.js a continuación, exports.default = void 0;copie y pegue el siguiente código.

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
  4. En available-plugins.js dentro de la var _defaultdeclaración de objeto, copie y pegue el siguiente código.

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

Y ya está hecho.

Ajith CR
fuente
Creo que no es una solución válida, siga este hilo: stackoverflow.com/questions/60780664/…
Gerardo Perrucci
4

En mi aplicación angular 8, aunque no tenía ninguna dependencia directa del paquete react-scripts y no lo tenía en package.json pero comencé a recibir este error en la compilación. Probablemente fue utilizado como dependencia por otros paquetes.

Al leer esta publicación en github , la agregué como dependencia en package.json "react-scripts": "3.4.1"y ejecuté npm install, la compilación comenzó a funcionar bien.

rumi
fuente
1

Esto funcionó para mí:

  • Eliminar package-lock.json
  • Eliminar node_modules
  • correr npm i
Eric Eskildsen
fuente
0

Agregue SKIP_PREFLIGHT_CHECK=trueal .envarchivo para que la compilación funcione sin expulsar y siga los pasos a continuación:

  • Eliminar node_modulesypackage-lock.json
  • Añadir "resolutions": { "@babel/preset-env": "^7.8.7" }apackage.json
  • correr npm install npm-force-resolutions --save-dev
  • correr npm install
  • correr npx npm-force-resolutions
  • Corre de npm installnuevo
  • correr npm run build
xameeramir
fuente
-2

Me acaba de pasar esto. Para solucionarlo, ejecuté yarn buildcon privilegios de sudo.

Noah Cote
fuente
Esto no funcionó para mí.
peoplepete
No trabajes aquí
Walter