Erro: as exportações de pacotes para <caminho para a pasta do projeto> / node_modules / @ babel / helper-compilation-target 'não definem um'. ' subcaminho

9

Acabei de criar uma nova pasta de projeto e executei os seguintes comandos:

  • npm init
  • npm install express
  • npm instala express-react-views reage react-dom

Criou o index.js com visualizações e importadas expressas para um arquivo jsx de amostra. Quando executo no localhost, recebo este erro:

Error: Package exports for '<path_to_project_folder>/node_modules/@babel/helper-compilation-targets' do not define a '.' subpath
    at applyExports (internal/modules/cjs/loader.js:485:15)
    at resolveExports (internal/modules/cjs/loader.js:508:12)
    at Function.Module._findPath (internal/modules/cjs/loader.js:577:20)
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:879:27)
    at Function.Module._load (internal/modules/cjs/loader.js:785:27)
    at Module.require (internal/modules/cjs/loader.js:956:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (<path_to_project_folder>/node_modules/@babel/preset-env/lib/debug.js:8:33)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Module._compile (<path_to_project_folder>/node_modules/pirates/lib/index.js:99:24)

Em outubro de 2019, criei um aplicativo expresso usando as mesmas etapas executadas e descobri que não existe esse pacote (@ babel / helper-compilation-target) e ele funcionou bem.

Não tenho certeza do que está errado. Alguém pode ajudar com conselhos? Obrigado!

sltan
fonte
Parece duplicado de: stackoverflow.com/questions/59706004/…
xdeepakv
Recomendado: exclua os arquivos node_module e gyp do nó do cache limpo. e reinstale na pasta de documentos. Onde o nó tem todo o acesso. Algum nó de tempo não pode funcionar devido à permissão. rm -rf ~ / .npm && npm cache clear -f
xdeepakv
Estou enfrentando o mesmo problema, mas com uma nova instalação do Laravel 6. @xdeepakv sua correção proposta não fez isso por mim. :( Alguma outra idéia?
SupFrost 12/01

Respostas:

18

Teve o mesmo problema. A atualização do node.js corrigiu isso para mim

Nikita
fonte
1
atualizar para a v12.14.1, problema corrigido, obrigado
Xiaohui Zhang
6
A atualização de 13.0.1 para 13.6.0 corrigiu isso. Valeu!
Alexander Taubenkorb 13/01
2
Trabalhou aqui também! Não se esqueça de fechar a instância do terminal após a atualização do nó e reabrir outra antes da compilação! e btw, o comando para atualizar o nó é nvm install node(se você tiver nvm, se não tiver)
antoni
6

Ele será corrigido no babel v7.8.4, consulte https://github.com/babel/babel/pull/11006 . Antes de uma nova versão do babel ser cortada, atualize o node.js para> = 13.2.0, que incorpora a correção upstream necessária .

Observe que o node.js 12 não é afetado, a menos que você tenha alternado manualmente no --experimental-modulessinalizador. Se for esse o caso, atualize também o node.js para> = 13.2.0.

JLHwung
fonte
2

Portanto, isso parece ser uma incompatibilidade entre Babel e Node.js. A solução geral é mudar para o nodejs 12 (por exemplo, se você estiver usando nvm), uma vez que afetou apenas o nodejs 13:

nvm install 12
nvm use 12

No entanto, para meu aplicativo Rails 6, isso não foi suficiente por si só, pois ainda recebi o mesmo erro. Contar ao Yarn sobre a versão do nó que eu esperava usar era necessário além disso. Então eu adicionei isso ao package.json:

"engines": {
  "node": "12.14.1"
}
NobodysNightmare
fonte