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.


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


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.


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

6

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


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


6

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

npm i @babel/compat-data@7.8.0

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.


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",
}

11
sim "@ babel / compat-data": "7.9.0", não funciona github.com/angular/angular-cli/issues/…
Gerardo Perrucci


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.


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.


1

Isso funcionou para mim:

  • Excluir package-lock.json
  • Excluir node_modules
  • Corre npm i

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

-2

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


Isto não funcionou para mim.
peoplespete

Não trabalhe aqui
Walter
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.