Moment: TS2307: Impossible de trouver le module 'moment'.

Créé le 1 mai 2020  ·  47Commentaires  ·  Source: moment/moment

J'ai un problème avec l'importation de moment dans mon projet angular 8.

Version angulaire = 8.3.26
Tapez la version du script = 3.6.2
version moment = 2.25.0

J'obtiens l' erreur
importer le moment à partir du «moment»; .

j'ai ajouté "moduleResolution": "node" et "allowSyntheticDefaultImports": true, dans tsConfig

Quelqu'un peut-il aider à ce sujet

Commentaire le plus utile

essayez la version 2.24, mes tests ont commencé à échouer sur la nouvelle version mais bien avec la précédente

Tous les 47 commentaires

essayez la version 2.24, mes tests ont commencé à échouer sur la nouvelle version mais bien avec la précédente

essayez la version 2.24, mes tests ont commencé à échouer sur la nouvelle version mais bien avec la précédente

J'ai essayé. mais la même erreur est venue.

à quoi ressemble la ligne pour le moment dans package.json?

son fonctionnement avec la version 2.24.0 peut être une erreur de déploiement dans la version 2.25.0
Veuillez déployer la nouvelle version avec le correctif.

si vous utilisez yarn, ajoutez un bloc de résolutions à package.json pour remplacer les versions de sous-dépendance, cela fonctionne pour moi

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

Il semble que la résolution du module Typescript ne trouve pas le moment. L'utilisation d'un chemin relatif fonctionne ./node_modules/moment/moment. @codebrent Merci, il fonctionne maintenant avec la version 2.24.0.

Dans la version 2.25, cela a été ajouté à package.json. Mais si je comprends qu'aucun emplacement correspondant n'existe pour le fichier typedef. Peut-être que cela a cassé les dactylos?

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

son fonctionnement avec la version 2.24.0 peut être une erreur de déploiement dans la version 2.25.0
Veuillez déployer la nouvelle version avec le correctif.

Non, ça ne marche pas pour moi

à quoi ressemble la ligne pour le moment dans package.json?

"moment": "^ 2.25.0",

Capture
Toutes les importations de moment retournent une erreur

à quoi ressemble la ligne pour le moment dans package.json?

111

essayez de changer en "moment": "2.24.0", assurez-vous qu'il n'y a pas de ^ dedans. supprimez node_models et réinstallez l'installation. aussi si vous avez package-lock.json, vous devrez peut-être le supprimer. Sinon, npm continuera d'installer 2.25

Je vois le même problème, et selon le score de compatibilité Dependabot pour le moment , je ne suis pas le seul.

La mise à niveau vers la version 2.24.0 peut être une solution de contournement, mais elle empêche effectivement au moins certains utilisateurs d'utiliser la version 2.25.0.

essayez de changer en "moment": "2.24.0", assurez-vous qu'il n'y a pas de ^ dedans. supprimez node_models et réinstallez l'installation. aussi si vous avez package-lock.json, vous devrez peut-être le supprimer. Sinon, npm continuera d'installer 2.25

La manière la plus sûre et canonique de le faire est simplement npm install [email protected] . Vous n'avez pas besoin de supprimer quoi que ce soit ou de modifier quoi que ce soit manuellement.

Je peux confirmer que le passage à la version 2.24 résout le problème.

essayez de changer en "moment": "2.24.0", assurez-vous qu'il n'y a pas de ^ dedans. supprimez node_models et réinstallez l'installation. aussi si vous avez package-lock.json, vous devrez peut-être le supprimer. Sinon, npm continuera d'installer 2.25

La manière la plus sûre et canonique de le faire est simplement npm install [email protected] . Vous n'avez pas besoin de supprimer quoi que ce soit ou de modifier quoi que ce soit manuellement.

Je peux confirmer que le passage à la version 2.24 résout le problème.

En local, son fonctionnement après une baisse de la note à 2.24.0. mais quand je déploie ceci sur Azure, il donne la même erreur.
azure error

Ma question est de savoir s'il s'agit du même package.json exécutant à la fois local et azur, pourquoi son erreur est à l'origine du moment d'importation.
J'ai également joint le journal des erreurs au serveur

Je peux confirmer que 2.25.0 donne ce problème mais pas à 2.24.0.

Je confirme également que 2.25.0 donne ce problème. Moment 2.24.0 fonctionne bien.

J'ai rencontré ce problème lors de la création de l'image du docker.

ça ne fonctionne pas avec 2.24.0 pour moi

Le déclassement a également résolu le problème. Peut-être que la version TypeScript peut jouer un rôle dans la présence du bogue ou non?

J'utilise moment-fuseau horaire
Cela ne fonctionne pas avec la correction de la version moment à 2.24.0 dans package.json

@zhuyuedlut @leafqi

ça ne fonctionne pas avec 2.24.0

vous n'avez probablement pas rétrogradé à la version 2.24.0. Supprimez votre fichier package-lock et votre dossier node_modules, puis exécutez cette commande:

npm install --save --save-exact [email protected]
npm installer

Je rencontre également le même problème dans un projet dactylographié et la construction échoue soudainement parce que nous n'avons pas épinglé la dépendance dans package.json.

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

épingler la version à "2.24.0" résout le problème.

Peut essayer avec le champ de résolutions dans package.json

Ajouter

"résolutions": {
"moment": "2.24.0"
}

Je confirme également qu'avec la version 2.25.0, j'ai le même problème avec dactylographié 3.8.3 et avec ts-node 8.9.1. Le passage à la version 2.24.0 a résolu le problème.

@zhuyuedlut @leafqi

ça ne fonctionne pas avec 2.24.0

vous n'avez probablement pas rétrogradé à la version 2.24.0. Supprimez votre fichier package-lock et votre dossier node_modules, puis exécutez cette commande:

npm install --save --save-exact [email protected]
npm installer

THX. mon problème a été résolu. il fonctionne avec 2.24.0
utilisation correcte: "moment": "2.24.0"
mauvaise utilisation: "moment": "^2.24.0"

"moment": "2.24.0" fonctionne aussi pour moi ..

Idem, le verrouillage dans 2.24.0 l'a corrigé.

Ceci est sur une application angulaire 7.2 construite avec webpack ^ 4.2.0

Oui, 2.24.0 fonctionne bien. Quelqu'un sait-il quel est le changement qu'il a apporté?

Idem, le problème a été résolu en définissant la version corrigée sur "2.24" au lieu de "^ 2.24"

Avons-nous une heure d'arrivée prévue pour ce correctif?

Nous sommes vendredi et je me demande si je devrais revenir à la version 2.24.0 avant le week-end.

essayez de changer en "moment": "2.24.0", assurez-vous qu'il n'y a pas de ^ dedans. supprimez node_models et réinstallez l'installation. aussi si vous avez package-lock.json, vous devrez peut-être le supprimer. Sinon, npm continuera d'installer 2.25

Merci. Le problème a été résolu en rétrogradant la version à 2.24.0

Cependant, vous ne vivez plus dans l'instant :)

essayez de changer en "moment": "2.24.0", assurez-vous qu'il n'y a pas de ^ dedans. supprimez node_models et réinstallez l'installation. aussi si vous avez package-lock.json, vous devrez peut-être le supprimer. Sinon, npm continuera d'installer 2.25

Merci, le problème a été résolu en rétrogradant la version de 2.25.0 à 2.24.0. J'ai également fait "^ 2.24.0" à "2.24.0"

Si la rétrogradation de 2.25.0 à 2.24.0 ne fonctionne pas et que vous obtenez à nouveau la même erreur, essayez de désinstaller complètement le module et réinstallez-le.

Utilisation de npm:

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

J'espère que cela aide.

À votre santé
Unkn0wn0x

Une idée quand le correctif sera publié? Je vois que c'est un problème cassé et je n'ai pas accès pour apporter des modifications dans Master pour définir la version moment sur 2.24 maintenant et les versions de production échouent à gauche et à droite.
Veuillez partager la version ETA merci

J'ai eu ce problème aussi, et je l'ai résolu
en supprimant ces lignes
"typesVersions": { ">=3.1": { "*": [ "ts3.1-typings/*" ] } },
lignes 150-156
dans
. \ node_modules \ moment \ package.json
et après avoir fait cela, cela fonctionne parfaitement avec la version 2.25

J'ai eu ce problème aussi, et je l'ai résolu
en supprimant ces lignes
"typesVersions": { ">=3.1": { "*": [ "ts3.1-typings/*" ] } },
lignes 150-156
dans
. \ node_modules \ moment \ package.json
et après avoir fait cela, cela fonctionne parfaitement avec la version 2.25

cela fonctionnera localement, mais pour les pipelines CI, je doute

Merci à tous: D 2.24.0 a également fonctionné pour moi.

Rétrogradé à 2.24.0 , et cela fonctionne bien.

2.25.1 publié

Testé 2.25.1, le problème est parti. Merci

Ouais, j'ai testé cela aussi et je n'ai rencontré aucun problème.

En effet, mis à jour quelques minutes après sa publication et tout va bien: merci pour le correctif rapide!

Enfin ça marche pour moi. rétrograder à 2.24.0 de travail. mais assurez-vous de mettre " moment": "2.24.0"
au lieu de "moment": "^ 2.24.0"
azure error

La version 2.25.1 a résolu le problème `` moment '' du module Impossible de trouver, mais je teste dans une application Angular 8 et génère l'erreur suivante:

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'

quelqu'un d'autre a-t-il connu cet échec?

Je reçois également des avertissements dans 2.25.1 concernant certaines des autres fonctions auxquelles je fais référence:

"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'

Pour moi c'était

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

Je pense que vous pouvez mettre à jour le moment vers la version 2.29.0

npm uninstall moment
npm install [email protected]

TS2307: Impossible de trouver le module 'moment' dans Angular 8

Cette page vous a été utile?
5 / 5 - 1 notes

Questions connexes

benhathaway picture benhathaway  ·  3Commentaires

BCup picture BCup  ·  3Commentaires

M-Zuber picture M-Zuber  ·  3Commentaires

nikocraft picture nikocraft  ·  3Commentaires

ninigix picture ninigix  ·  3Commentaires