Moment: TS2307: Modul 'Moment' kann nicht gefunden werden.

Erstellt am 1. Mai 2020  ·  47Kommentare  ·  Quelle: moment/moment

Ich habe Probleme beim Importieren von Momenten in mein Angular 8-Projekt.

Winkelversion = 8.3.26
Geben Sie script version = 3.6.2 ein
Moment Version = 2.25.0

Ich erhalte die Fehlermeldung
Moment von 'Moment' importieren; .

Ich habe "moduleResolution": "node" und "allowSyntheticDefaultImports" hinzugefügt: true, in tsConfig

kann jemand dabei helfen

Hilfreichster Kommentar

Versuchen Sie es mit Version 2.24. Meine Tests sind in der neuen Version fehlgeschlagen, aber mit der vorherigen Version in Ordnung

Alle 47 Kommentare

Versuchen Sie es mit Version 2.24. Meine Tests sind in der neuen Version fehlgeschlagen, aber mit der vorherigen Version in Ordnung

Versuchen Sie es mit Version 2.24. Meine Tests sind in der neuen Version fehlgeschlagen, aber mit der vorherigen Version in Ordnung

Ich habe versucht. aber der gleiche Fehler kam.

Wie sieht die Zeile für den Moment in package.json aus?

Die Arbeit mit 2.24.0 kann ein Bereitstellungsfehler in 2.25.0 sein
Bitte stellen Sie die neue Version mit Fix bereit.

Wenn Sie Garn verwenden, fügen Sie package.json einen Auflösungsblock hinzu, um Versionen der Unterabhängigkeit zu überschreiben. Dies funktioniert für mich

  "resolutions": {
    "moment": "2.24.0"
  }

Die Auflösung des Typescript-Moduls scheint keinen Moment zu finden. Die Verwendung eines relativen Pfads funktioniert ./node_modules/moment/moment. @codebrent Danke, es funktioniert jetzt mit der Version 2.24.0.

In 2.25 wurde dies zu package.json hinzugefügt. Aber wenn ich verstehe, existiert kein entsprechender Speicherort für die typedef-Datei. Vielleicht hat das die Schreibweise gebrochen?

"typesVersions": {
    ">=3.1": {
      "*": [
        "ts3.1-typings/*"
      ]
    }
  },

Die Arbeit mit 2.24.0 kann ein Bereitstellungsfehler in 2.25.0 sein
Bitte stellen Sie die neue Version mit Fix bereit.

Nein, es funktioniert nicht bei mir

Wie sieht die Zeile für den Moment in package.json aus?

"Moment": "^ 2.25.0",

Capture
Im Moment werden Rückgabefehler importiert

Wie sieht die Zeile für den Moment in package.json aus?

111

Versuchen Sie, zu "moment": "2.24.0" zu wechseln, und stellen Sie sicher, dass kein ^ darin enthalten ist. lösche node_models und installiere npm neu. Auch wenn Sie package-lock.json haben, müssen Sie es möglicherweise löschen. Andernfalls wird npm weiterhin 2.25 installieren

Ich sehe das gleiche Problem und laut dem Dependabot-Kompatibilitätswert für den Moment bin ich nicht der einzige.

Ein Downgrade auf 2.24.0 kann eine Problemumgehung sein, verhindert jedoch effektiv, dass zumindest einige Benutzer 2.25.0 verwenden.

Versuchen Sie, zu "moment": "2.24.0" zu wechseln, und stellen Sie sicher, dass kein ^ darin enthalten ist. lösche node_models und installiere npm neu. Auch wenn Sie package-lock.json haben, müssen Sie es möglicherweise löschen. Andernfalls wird npm weiterhin 2.25 installieren

Der sicherere, kanonische Weg, dies zu tun, ist einfach npm install [email protected] . Sie müssen nichts löschen oder manuell ändern.

Ich kann bestätigen, dass ein Downgrade auf 2.24 das Problem behebt.

Versuchen Sie, zu "moment": "2.24.0" zu wechseln, und stellen Sie sicher, dass kein ^ darin enthalten ist. lösche node_models und installiere npm neu. Auch wenn Sie package-lock.json haben, müssen Sie es möglicherweise löschen. Andernfalls wird npm weiterhin 2.25 installieren

Der sicherere, kanonische Weg, dies zu tun, ist einfach npm install [email protected] . Sie müssen nichts löschen oder manuell ändern.

Ich kann bestätigen, dass ein Downgrade auf 2.24 das Problem behebt.

In lokal läuft es nach Down Grade auf 2.24.0. aber wenn ich dies in Azure bereitstelle, gibt es den gleichen Fehler.
azure error

Meine Frage ist, ob es sich um dasselbe package.json handelt , auf dem sowohl local als auch
Ich habe auch Fehlerprotokoll im Server angehängt

Ich kann bestätigen, dass 2.25.0 dieses Problem gibt, aber nicht bei 2.24.0.

Ich bestätige auch, dass 2.25.0 dieses Problem verursacht. Moment 2.24.0 funktioniert gut.

Ich habe dieses Problem beim Erstellen des Docker-Images festgestellt.

Es funktioniert nicht mit 2.24.0 für mich

Ein Downgrade hat das Problem auch hier behoben. Vielleicht spielt die TypeScript-Version eine Rolle beim Auftreten des Fehlers oder nicht?

Ich benutze Moment-Zeitzone
Es funktioniert nicht mit der Fixing-Moment-Version auf 2.24.0 in package.json

@zhuyuedlut @leafqi

Es funktioniert nicht mit 2.24.0

Sie haben wahrscheinlich kein Downgrade auf 2.24.0 durchgeführt. Entfernen Sie Ihre Paketsperrdatei und den Ordner node_modules und führen Sie den folgenden Befehl aus:

npm install --save --save-genaue [email protected]
npm installieren

Ich habe auch das gleiche Problem in einem Typoskript-Projekt und der Build schlägt plötzlich fehl, weil wir die Abhängigkeit in package.json nicht gepinnt haben.

error TS2307: Cannot find module 'moment'.
error Command failed with exit code 2.

Das Fixieren der Version auf "2.24.0" behebt das Problem.

Kann mit Auflösungsfeld in package.json versuchen

Hinzufügen

"Vorsätze": {
"Moment": "2.24.0"
}}

Ich bestätige auch, dass ich mit 2.25.0 das gleiche Problem mit Typoskript 3.8.3 habe und mit ts-node 8.9.1 ausgeführt werde. Ein Downgrade auf 2.24.0 löste das Problem.

@zhuyuedlut @leafqi

Es funktioniert nicht mit 2.24.0

Sie haben wahrscheinlich kein Downgrade auf 2.24.0 durchgeführt. Entfernen Sie Ihre Paketsperrdatei und den Ordner node_modules und führen Sie den folgenden Befehl aus:

npm install --save --save-genaue [email protected]
npm installieren

Danke. Mein Problem wurde gelöst. seine Arbeit mit 2.24.0
korrekte Verwendung: "moment": "2.24.0"
falsche Verwendung: "moment": "^2.24.0"

"moment": "2.24.0" funktioniert auch bei mir ..

Das gleiche gilt für das Sperren in 2.24.0.

Dies ist eine eckige 7.2-App, die mit Webpack ^ 4.2.0 erstellt wurde

Ja, 2.24.0 funktioniert einwandfrei. Weiß jemand, was die Änderung ist, die sie vorgenommen haben?

Das Problem wurde behoben, indem die feste Version auf "2.24" anstelle von "^ 2.24" gesetzt wurde.

Haben wir eine ETA für dieses Update?

Es ist Freitag und ich frage mich, ob ich vor dem Wochenende ein Downgrade auf 2.24.0 durchführen soll.

Versuchen Sie, zu "moment": "2.24.0" zu wechseln, und stellen Sie sicher, dass kein ^ darin enthalten ist. lösche node_models und installiere npm neu. Auch wenn Sie package-lock.json haben, müssen Sie es möglicherweise löschen. Andernfalls wird npm weiterhin 2.25 installieren

Vielen Dank. Das Problem wurde behoben, indem die Version auf 2.24.0 heruntergestuft wurde

Du lebst aber nicht mehr im Moment :)

Versuchen Sie, zu "moment": "2.24.0" zu wechseln, und stellen Sie sicher, dass kein ^ darin enthalten ist. lösche node_models und installiere npm neu. Auch wenn Sie package-lock.json haben, müssen Sie es möglicherweise löschen. Andernfalls wird npm weiterhin 2.25 installieren

Vielen Dank, das Problem wurde durch ein Downgrade der Version von 2.25.0 auf 2.24.0 behoben. Auch ich habe "^ 2.24.0" bis "2.24.0" gemacht.

Wenn das Downgrade von 2.25.0 auf 2.24.0 nicht funktioniert und Sie erneut den gleichen Fehler erhalten, versuchen Sie, das Modul vollständig zu deinstallieren und erneut zu installieren.

Verwenden von npm:

  1. npm uninstall moment
  2. npm install [email protected]

Ich hoffe es hilft.

Prost
Unbekannt0x

Irgendeine Idee, wann das Update veröffentlicht wird? Ich sehe, dass dies ein defektes Problem ist und ich keinen Zugriff auf Änderungen im Master habe, um die Momentversion jetzt auf 2.24 zu setzen, und die Produktionserstellung schlägt links und rechts fehl.
Bitte teilen Sie Release ETA danke

Ich hatte dieses Problem auch und habe es behoben
durch Entfernen dieser Zeilen
"typesVersions": { ">=3.1": { "*": [ "ts3.1-typings/*" ] } },
Zeilen 150-156
im
. \ node_modules \ moment \ package.json
und nachdem ich das getan habe, funktioniert es völlig gut mit Version 2.25

Ich hatte dieses Problem auch und habe es behoben
durch Entfernen dieser Zeilen
"typesVersions": { ">=3.1": { "*": [ "ts3.1-typings/*" ] } },
Zeilen 150-156
im
. \ node_modules \ moment \ package.json
und nachdem ich das getan habe, funktioniert es völlig gut mit Version 2.25

Dies wird lokal funktionieren, aber für CI-Pipelines bezweifle ich

Vielen Dank an alle: D 2.24.0 hat auch für mich funktioniert.

Herabgestuft auf 2.24.0 , und es funktioniert gut.

2.25.1 veröffentlicht

Getestet 2.25.1, Problem ist weg. Vielen Dank

Ja, ich habe das auch getestet und keine Probleme festgestellt.

In der Tat, Minuten nach der Veröffentlichung aktualisiert und alles ist gut: Danke für die schnelle Lösung!

Endlich funktioniert es bei mir. Downgrade auf 2.24.0 funktioniert. aber stellen Sie sicher, dass Sie " moment" setzen: "2.24.0"
anstelle von "Moment": "^ 2.24.0"
azure error

Version 2.25.1 hat das Problem "Moment" des Moduls kann nicht gefunden werden, aber ich teste in einer Angular 8-Anwendung und es wird der folgende Fehler ausgegeben:

WARNING in ./node_modules/moment/src/lib/locale/locales.js
Module not found: Error: Can't resolve './locale' in '/home/project/node_modules/moment/src/lib/ locale'

Hat noch jemand diesen Fehler erlebt?

In 2.25.1 werden auch Warnungen zu einigen anderen Funktionen angezeigt, auf die ich verweise:

"export 'utc' (imported as 'moment') was not found in 'moment'
"export 'max' (imported as 'moment') was not found in 'moment'
"export 'min' (imported as 'moment') was not found in 'moment'

Für mich war es

    "moment": "2.24.0",
    "moment-timezone": "^0.5.31",

Ich denke, Sie können Moment auf Version 2.29.0 aktualisieren

npm uninstall moment
npm install [email protected]

TS2307: Modul 'Moment' kann in Winkel 8 nicht gefunden werden

War diese Seite hilfreich?
5 / 5 - 1 Bewertungen