Não foi possível encontrar o plug-in "separador-numérico-proposta"

61

Como corrigir Could not find plugin "proposal-numeric-separator", recebo esse erro ao tentar criar meu aplicativo React, ainda não o ejetei:

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

Tentei fazer o download do Babel e do separador numérico da proposta e da dependência, remover os módulos do nó, limpar o cache do Yarn; mas nada funcionou.

Estou usando o Yarn 1.22.4 e o Node 13.11.0, mas também tentei com o NPM 6.13.7.

Walter
fonte
5
Estou tendo o mesmo problema. +1
folkpete
2
Outras pessoas estão tendo o mesmo problema: reddit.com/r/angular/comments/flymj5/build_failing_please_help A solução sugerida não funcionou para mim.
peoplespete

Respostas:

46

Os seguintes trabalhos

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

    para package.json.

  2. Corre npx npm-force-resolutions

  3. Execute npm install ou yarn.

  4. Execute yarn buildpara criar seu projeto

Dê uma olhada nesta edição do Github

Hillkim Henry
fonte
11
Acabamos de adicionar resolutions, removemos os node_modules e instalamos as dependências. Funcionou, obrigado. Observação : testei a compilação e está tudo bem.
Walter
11
cara, você salva minha vida. Como você sabe sobre esta resposta? Você tem meu incrível, amigo. Muito obrigado.
Carlos Querioz
11
@CarlosQuerioz Acho que o motivo é o último tópico desta documentação: "Sua dependência define um amplo intervalo de versões e sua subdependência acabou de receber uma atualização problemática, de modo que você deseja fixá-la em uma versão anterior"
Walter
11
trabalhou! 24 de março de 2020
Josh
2
@ user3746480 Há um problema com as dependências do babel. A causa mais provável pode estar removendo ou atualizando os módulos do nó. É por isso que impor uma determinada versão de trabalho o corrige
Hillkim Henry
15

Do problema correspondente em create-react-app,

Atualize os scripts de reação para 3.4.1 no arquivo package.json e remova node_modules, bem como package-lock.json / yarn.lock e reinstale.

jobinbasani
fonte
Funciona pra mim também. Eu acho que foi mais simples.
Carlos Querioz 23/03
10

Por que esse problema aconteceu ?

É uma questão de conflitos entre pacotes internos usados ​​por babel.

Adicionando um novo plug-in para @babel/compat-dataquebrar @babel/preset-envversões antigas . Isso ocorre porque preset-envitera sobre compat-dataos plug-ins e lança se o plug-in não estiver definido no available-plugins.jsarquivo do preset-env .

Esta é a mesclagem que corrigiu o problema: https://github.com/babel/babel/pull/11201/files/a88a00750c61ff89f1622d408d67108719f21ecd

Solução :

  • Excluir package-lock.jsonouyarn.lock
  • Excluir node_modulespasta
  • Em package.joneu ajustei os números de versão desses pacotes para:
    ...
    "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"
    }
  • Corre npm install
  • Corre npm run build
Badis Merabet
fonte
6

Acabei de alterar a versão do script de reação de 3.0.1 para 3.4.1

Beatriz Cibele
fonte
2
Eu já estava usando esta versão (:
Walter
6

Referência: https://github.com/angular/angular-cli/issues/17262

Eu encontrei duas solução

a) Instale o babel compat

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

b) Instale o plug-in-proposta-separador-numérico

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

instale esta versão apenas 7.8.0

  1. A CLI angular pode criar esse tipo de problema. Vá para o pacote json e mude para

    build-angular ":" 0.803.17 "

por favor não adicione ^ ou ~ .

Gajender Singh
fonte
6

Você pode usar este comando, que funcionou para mim.

npm i @babel/compat-data@7.8.0
M Danial
fonte
Valeu cara! Funcionou!
Gaurav Gupta
5

Eu enfrentei um problema semelhante e consegui corrigi-lo atualizando todas as dependências do babel para a versão mais recente. Não estou ciente do problema exato com babel. No entanto, a etapa abaixo mencionada funcionou para mim.

Etapa 1: identificar e remover todas as dependências relacionadas ao babel do 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

Etapa 2: reinstalar as dependências do 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: A lista acima de dependências de babel será diferente para o seu projeto.

Meeraj Ahmed
fonte
5

Estou usando angular e isso funcionou para mim, simplesmente alterei a versão do @ babel / compat-data de ^7.8.0para apenas 7.8.0, o package-lock.json está tendo uma versão mais nova, com bugs.

Dentro do package.json:

  "devDependencies": {
    "@babel/compat-data": "7.8.0",
}
Furqan S. Mahmoud
fonte
11
sim "@ babel / compat-data": "7.9.0", não funciona github.com/angular/angular-cli/issues/…
Gerardo Perrucci
5

Em package.json

  "dependencies": {
    "@babel/compat-data": "7.8.0",
    "@babel/plugin-proposal-numeric-separator": "^7.8.3",
    "babel-loader": "^8.1.0",
  ....
  "resolutions": {
     "@babel/preset-env": "^7.8.7"
  }

Está funcionando para mim. Você pode ler mais

https://github.com/angular/angular-cli/issues/17262#issuecomment-603396857

Gerardo Perrucci
fonte
4

É apenas um processo de 4 etapas.

Motivo: isso acontece devido a um pacote ausente no babel. Isso acontecerá mesmo se você criar um aplicativo angular usando o ng newcomando

Solução

  1. Instale plugin-proposal-numeric-separatorusando o seguinte código no terminal.

    npm install --save @babel/plugin-proposal-numeric-separator
  2. Quando terminar, navegue até o arquivo, como mostrado abaixo.

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

  3. No available-plugins.js abaixo, exports.default = void 0;copie e cole o seguinte código.

    var _pluginProposalNumericSeparator = _interopRequireDefault(require("@babel/plugin-proposal-numeric-separator"));
  4. No available-plugins.js na var _defaultdeclaração do objeto, copie e cole o seguinte código.

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

E está feito.

Ajith CR
fonte
Eu acho que não é uma solução válida, por favor, siga este tópico: stackoverflow.com/questions/60780664/…
Gerardo Perrucci
4

No meu aplicativo angular 8, embora eu não tivesse nenhuma dependência direta do pacote react-scripts e não o tivesse, package.jsonmas comecei a receber esse erro na compilação. Provavelmente foi usado como impedimento por outras embalagens.

Ao ler este post no github , eu o adicionei como dependência no package.json "react-scripts": "3.4.1"e execute o npm install, o build começou a funcionar perfeitamente.

rumi
fonte
1

Isso funcionou para mim:

  • Excluir package-lock.json
  • Excluir node_modules
  • Corre npm i
Eric Eskildsen
fonte
0

Adicione SKIP_PREFLIGHT_CHECK=trueao .envarquivo para fazer a compilação funcionar sem ejetar e siga as etapas abaixo:

  • Excluir node_modulesepackage-lock.json
  • Adicionar "resolutions": { "@babel/preset-env": "^7.8.7" }apackage.json
  • Corre npm install npm-force-resolutions --save-dev
  • Corre npm install
  • Corre npx npm-force-resolutions
  • Corra npm installnovamente
  • Corre npm run build
xameeramir
fonte
-2

Eu acabei de acontecer comigo. Para corrigi-lo, executei yarn buildcom privilégios sudo.

Noah Cote
fonte
Isto não funcionou para mim.
peoplespete
Não trabalhe aqui
Walter