tsc · Compilación y tipos
El mensaje
error TS2307: Cannot find module 'lodash' or its corresponding type declarations.
Qué significa
tsc no encontró ni el módulo ni ninguna declaración de tipos para él, y es importante que el mensaje diga ambas cosas: puede que el paquete no esté, o que esté instalado sin tipos. Si está instalado, lo que falta son los tipos: npm i -D @types/lodash añade el paquete acompañante, aunque muchos paquetes modernos incluyen sus propios tipos y no tienen @types. Cuando esto salta en un import relativo, mira las mayúsculas y las paths de tsconfig: una ruta a tus propios archivos no tiene nada que ver con @types.
El arreglo
npm i -D @types/lodash- Lo imprime
- tsc
- Compilación y tipos
- 10
Los errores de compilación son una herramienta que se niega antes de que nada se ejecute, así que no rompen nada en el momento en que aparecen, pero plantean dos preguntas: ¿arreglarás el tipo o la ruta para que coincidan con la forma real, o empujarás esa única línea con un as any o un comentario de supresión? Y es aquí donde las cosas que solo son ciertas en tu máquina —mayúsculas, extensiones y variables de entorno— se muestran por primera vez.
Cómo leer un mensaje de error
- Lee desde la primera línea. Cuanto más abajo, más son las tripas de la herramienta; la causa suele estar arriba.
- Si hay un archivo y un número de línea, empieza ahí: no el marco superior de la pila, sino la línea más alta que nombre un archivo tuyo.
- Busca el mensaje literal, pero quita antes tus rutas y nombres de variables: eso es lo que impide que la búsqueda coincida.
- La misma condición se redacta distinto según la versión. Si los resultados no cuadran, añade el número de versión.
- Antes de pegar un arreglo, comprueba qué descarta. Algunos no se pueden deshacer.
Preguntas frecuentes
Q. ¿Qué significa «error TS2307: Cannot find module 'lodash' or its corresponding type declarations.»?
tsc no encontró ni el módulo ni ninguna declaración de tipos para él, y es importante que el mensaje diga ambas cosas: puede que el paquete no esté, o que esté instalado sin tipos. Si está instalado, lo que falta son los tipos: npm i -D @types/lodash añade el paquete acompañante, aunque muchos paquetes modernos incluyen sus propios tipos y no tienen @types. Cuando esto salta en un import relativo, mira las mayúsculas y las paths de tsconfig: una ruta a tus propios archivos no tiene nada que ver con @types.
Q. ¿Cómo se arregla?
npm i -D @types/lodash — antes de ejecutarlo, mira arriba qué descarta este comando.
Q. ¿Qué herramienta lo imprime?
tsc. Está en Compilación y tipos y el mensaje tiene 11 palabras.