Fehler: Paketexporte für <Pfad zum Projektordner> / node_modules / @ babel / helper-compilation-Ziele 'definieren kein'. ' Unterpfad


9

Ich habe gerade einen neuen Projektordner erstellt und die folgenden Befehle ausgeführt:

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

Erstellt index.js mit importiertem Express und Ansichten für eine Beispiel-jsx-Datei. Wenn ich auf localhost laufe, wird folgende Fehlermeldung angezeigt:

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)

Im Oktober 2019 habe ich eine Express-App mit denselben Schritten erstellt und festgestellt, dass es kein solches Paket gibt (@ babel / helper-compilation-target), und es lief einwandfrei.

Ich bin mir nicht sicher, was los ist. Kann jemand helfen, um zu beraten? Vielen Dank!



Empfohlen: Löschen Sie die sauberen Cache-Dateien node_module und node gyp. und erneut im Dokumentenordner installieren. Wobei der Knoten den gesamten Zugriff hat. Einige Zeitknoten können aufgrund von Berechtigungen nicht funktionieren. rm -rf ~ / .npm && npm Cache löschen -f
xdeepakv

Ich habe das gleiche Problem, aber mit einer neuen Laravel 6-Installation. @xdeepakv Ihr vorgeschlagener Fix hat es nicht für mich getan. :( Irgendwelche anderen Ideen?
SupFrost

Antworten:


18

Hatte das gleiche Problem. Das Aktualisieren der node.js hat das für mich behoben


1
Upgrade auf v12.14.1, Problem behoben, danke
Xiaohui Zhang

6
Das Update von 13.0.1 auf 13.6.0 hat dies behoben. Danke!
Alexander Taubenkorb

2
Arbeitete auch hier! Vergessen Sie nicht, die Terminalinstanz nach dem Knoten-Upgrade zu schließen und vor dem Erstellen eine weitere zu öffnen! und übrigens ist der Befehl zum Aktualisieren des Knotens nvm install node(wenn Sie nvm haben, wenn Sie dies nicht tun sollten)
antoni

6

Es wird auf babel v7.8.4 behoben, siehe https://github.com/babel/babel/pull/11006 . Bevor eine neue Babel-Version geschnitten wird, aktualisieren Sie bitte node.js auf> = 13.2.0, das den erforderlichen Upstream-Fix enthält .

Beachten Sie, dass node.js 12 nur betroffen ist, wenn Sie das Flag manuell umgeschaltet haben --experimental-modules. Wenn dies der Fall ist, aktualisieren Sie bitte auch node.js auf> = 13.2.0.


2

Dies scheint also eine Inkompatibilität zwischen Babel und Node.js zu sein. Die allgemeine Lösung besteht darin, zu Knoten 12 zu wechseln (z. B. wenn Sie verwenden nvm), da nur Knoten 13 betroffen sind:

nvm install 12
nvm use 12

Für meine Rails 6-Anwendung war dies jedoch allein nicht ausreichend, da ich immer noch den gleichen Fehler erhielt. Darüber hinaus war es notwendig, Yarn über die Knotenversion zu informieren, die ich voraussichtlich verwenden werde. Also habe ich folgendes hinzugefügt package.json:

"engines": {
  "node": "12.14.1"
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.