Accueil·Messages d’erreur

tsc · Build et types

Le message

error TS2307: Cannot find module 'lodash' or its corresponding type declarations.

Ce que cela veut dire

tsc n'a trouvé ni le module lui-même ni aucune déclaration de types pour lui, et il importe que le message dise les deux : le paquet peut manquer complètement, ou être installé sans types. S'il est installé, ce sont les types qui manquent : npm i -D @types/lodash ajoute le paquet compagnon, sachant que beaucoup de paquets récents embarquent leurs propres types et n'ont pas de @types. Si cela survient sur un import relatif, regardez la casse et les paths de tsconfig — un chemin vers vos propres fichiers n'a rien à voir avec @types.

Le correctif

npm i -D @types/lodash
Émis par
tsc
Build et types
10

Les erreurs de build sont un outil qui refuse avant toute exécution : elles ne cassent rien à l'instant où elles surgissent, mais elles posent deux questions — corrigerez-vous le type ou le chemin pour coller à la forme réelle, ou ferez-vous passer cette seule ligne avec un as any ou un commentaire de suppression ? Et c'est ici que se révèlent pour la première fois les choses qui ne sont vraies que sur votre machine : la casse, les extensions et les variables d'environnement.

Lire un message d’erreur

  • Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
  • S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
  • Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
  • La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
  • Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.

Questions fréquentes

Q. Que veut dire « error TS2307: Cannot find module 'lodash' or its corresponding type declarations. » ?

tsc n'a trouvé ni le module lui-même ni aucune déclaration de types pour lui, et il importe que le message dise les deux : le paquet peut manquer complètement, ou être installé sans types. S'il est installé, ce sont les types qui manquent : npm i -D @types/lodash ajoute le paquet compagnon, sachant que beaucoup de paquets récents embarquent leurs propres types et n'ont pas de @types. Si cela survient sur un import relatif, regardez la casse et les paths de tsconfig — un chemin vers vos propres fichiers n'a rien à voir avec @types.

Q. Comment le corriger ?

npm i -D @types/lodash — avant de le lancer, vérifiez plus haut ce que cette commande jette.

Q. Quel outil émet cela ?

tsc. Cela relève de Build et types, et le message compte 11 mots.

Erreurs voisines