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.