node · npm
El mensaje
Error: Cannot find module 'express'
Qué significa
node no pudo resolver ese nombre a ningún archivo: no está en node_modules, o ejecutaste desde un directorio sin node_modules. Pasa cuando nunca instalaste, cuando una instalación falló a medias y dejó un árbol parcial, o cuando el paquete está en devDependencies y instalaste con --omit=dev. rm -rf node_modules && npm install reconstruye el árbol desde el lockfile; es seguro, no pierde nada y solo cuesta el tiempo de descarga. Pero si el nombre entre comillas es una ruta relativa que empieza por ./, no falta ningún paquete: la ruta de tu propio código está mal.
El arreglo
rm -rf node_modules && npm install- Lo imprime
- node
- npm
- 20
En npm la causa está en la primera línea code XXXX y no en las seis últimas líneas npm ERR!, y cuando el fallo viene del árbol de dependencias o de una compilación nativa y no de tu código, borrar node_modules y reinstalar resuelve la mitad de los casos.
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: Cannot find module 'express'»?
node no pudo resolver ese nombre a ningún archivo: no está en node_modules, o ejecutaste desde un directorio sin node_modules. Pasa cuando nunca instalaste, cuando una instalación falló a medias y dejó un árbol parcial, o cuando el paquete está en devDependencies y instalaste con --omit=dev. rm -rf node_modules && npm install reconstruye el árbol desde el lockfile; es seguro, no pierde nada y solo cuesta el tiempo de descarga. Pero si el nombre entre comillas es una ruta relativa que empieza por ./, no falta ningún paquete: la ruta de tu propio código está mal.
Q. ¿Cómo se arregla?
rm -rf node_modules && npm install — antes de ejecutarlo, mira arriba qué descarta este comando.
Q. ¿Qué herramienta lo imprime?
node. Está en npm y el mensaje tiene 5 palabras.