Ich bin neu im Reagieren, habe aber einen Fehler gefunden, der für mich absolut keinen Sinn ergibt.
Ich versuche, eine Kalenderbibliothek einzuschließen: https://github.com/wix/react-native-calendars
Ich habe die Abhängigkeit für diese Bibliothek in meine package.json-Datei aufgenommen und starte sie
npm install
Das Projekt lief gut und erwartete vorher. Ich habe dem Projekt einfach eine Codezeile hinzugefügt:
import { Calendar, CalendarList, Agenda } from 'react-native-calendars';
Nichts anderes. Jetzt erhalte ich jedoch eine rote Fehlermeldung, wenn die App auf dem Gerät geladen wird, und dies ist, was meine Konsole sagt:
fehler: Bündelung fehlgeschlagen: Fehler: Beim Versuch, Modul xdate
aus Datei /Users/Alex/Documents/workspace/mobile/node_modules/react-native-calendars/src/index.js
aufzulösen, wurde das Paket /Users/Alex/Documents/workspace/mobile/node_modules/xdate/package.json
erfolgreich gefunden. Dieses Paket selbst gibt jedoch ein main
-Modulfeld an, das nicht aufgelöst werden konnte (/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js
. In der Tat ist keine dieser Dateien vorhanden:
/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)
/Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json)
at ResolutionRequest.resolveDependency (/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:103:15) at DependencyGraph.resolve/Users /mobile/node_modules/metro/src/node-haste/DependencyGraph.js:272:4579) bei dependencies.map.relativePath (/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependences : 376: 19) bei Array.map () bei resolveDependencies (/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:374:16) bei/Users/Alex/Documents/workspace /mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:212:33 at Generator.next () at step (/Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js: 297: 313) um /Users/Alex/Documents/workspace/mobile/node_modules/metro/src/DeltaBundler/traverseDependencies.js:297:473 umAllerdings habe ich das Verzeichnis eingecheckt und tatsächlich existiert /Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js. Jedoch sehe ich keinen dieser Teile: (.native || .ios.js | .native.js | .js | .ios.json | .native.json | .json) `
Wie /Users/Alex/Documents/workspace/mobile/node_modules/xdate/src/xdate.js/index existieren kann, ist nicht sinnvoll, da xdate.js kein Verzeichnis ist.
Irgendeine Hilfe?
Dies geschieht normalerweise, wenn Sie versuchen, ein Modul zu installieren, während der Packager geöffnet ist.
Versuchen Sie, den node_modules
-Ordner zu löschen, und schließen Sie die packager
. Installieren Sie anschließend alles neu durch npm install
in Ihrem Projektverzeichnis.
Schließen Sie zunächst Ihren JavaScript-Bundler (in meinem Fall Metro-Bundler) und starten Sie die Anwendung erneut. Dadurch wird ein neues Abhängigkeitsdiagramm erstellt. Dies sollte das Problem lösen.
Bitte löschen Sie nicht den Node Modules Ordner. Der Bundler muss sich am wenigsten mit dem Ordner node modules befassen.
Schließen Sie stattdessen alle Terminals. Wenn Sie VS-Code verwenden, schließen Sie dies ebenfalls.
Schließen Sie alle lokalen Host-Server-Ports und starten Sie das System nach Möglichkeit neu. Dies könnte das Problem lösen.
Wenn der Fehler auch nach dem Löschen des ./node_modules
-Ordners immer noch auftritt und Sie npm install
erneut ausführen, versuchen Sie, die Installation mit dem --update-binary
-Flag durchzuführen, d. H. npm install --update-binary
. Auf diese Weise sollten zuvor erstellte Pakete auf Ihrem Computer gelöscht und neu erstellt werden.