Error: Las exportaciones de paquetes para <ruta a la carpeta del proyecto> / node_modules / @ babel / helper-compilation-targets 'no definen a'. ' subpath

9

Acabo de crear una nueva carpeta de proyecto y ejecuté los siguientes comandos:

  • npm init
  • npm install express
  • npm install express-react-views reacciona react-dom

Creado index.js con express importado y vistas para un archivo jsx de muestra. Cuando ejecuto en localhost, me sale este error:

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)

En octubre de 2019, creé una aplicación exprés utilizando los mismos pasos que ejecuté, y descubrí que no existe dicho paquete (@ babel / helper-compilation-objetivos), y funcionó bien.

No estoy seguro de lo que está mal. ¿Alguien puede ayudar a un consejo? ¡Gracias!

sltan
fuente
Parece duplicado de: stackoverflow.com/questions/59706004/…
xdeepakv
Recomendado: elimine la memoria caché limpia node_module y los archivos gyp de nodo. y vuelva a instalar en la carpeta de documentos. Donde nodo tiene todo el acceso. Algunos nodos de tiempo no pueden funcionar debido a un permiso. rm -rf ~ / .npm && npm cache clear -f
xdeepakv
Estoy experimentando el mismo problema, pero con una nueva instalación de Laravel 6. @xdeepakv su solución propuesta no lo hizo por mí. :( ¿Alguna otra idea?
SupFrost

Respuestas:

18

Tuve el mismo problema. Actualizar el nodo.js solucionó eso para mí

Nikita
fuente
1
actualizar a v12.14.1, problema solucionado, gracias
Xiaohui Zhang
66
La actualización de 13.0.1 a 13.6.0 solucionó esto. ¡Gracias!
Alexander Taubenkorb
2
Trabajó aquí también! ¡No olvide cerrar la instancia del terminal después de la actualización del nodo y volver a abrir otra antes de construir! y, por cierto, el comando para actualizar el nodo es nvm install node(si tiene nvm, si no debería)
antoni
6

Se solucionará en babel v7.8.4, consulte https://github.com/babel/babel/pull/11006 . Antes de que se corte una nueva versión de babel, actualice node.js a> = 13.2.0, que incorpora la corrección necesaria previa .

Tenga en cuenta que node.js 12 no se ve afectado a menos que haya activado manualmente el --experimental-modulesindicador. Si ese es el caso, actualice también node.js a> = 13.2.0.

JLHwung
fuente
2

Entonces esto parece ser una incompatibilidad entre Babel y Node.js. La solución general es cambiar a nodejs 12 (por ejemplo, si está usando nvm), ya que solo afectó a nodejs 13:

nvm install 12
nvm use 12

Sin embargo, para mi aplicación Rails 6 esto no fue suficiente solo, ya que todavía recibí el mismo error. Además de eso, fue necesario contarle a Yarn sobre la versión de nodo que espero usar. Entonces agregué esto a package.json:

"engines": {
  "node": "12.14.1"
}
NobodysPesadilla
fuente