Solución: Error ERR_MODULE_NOT_FOUND en Node.js
¿Error ERR_MODULE_NOT_FOUND al ejecutar Node.js? Causas y solución paso a paso: imports incorrectos, extensiones faltantes y package.json mal configurado.
¿Por qué ocurre?
Node.js no puede encontrar un módulo que estás intentando importar. Las causas más comunes son: falta la extensión del archivo en el import, el paquete no está instalado, o el campo 'type' en package.json no coincide con la sintaxis usada (ESM vs CommonJS).
Solución paso a paso
Paso 1: Verifica si el módulo es un paquete o un archivo local:
# Si es un paquete npm:
npm ls nombre-del-paquete
# Si no aparece, instálalo:
npm install nombre-del-paquete
Paso 2: Si es un import local, añade la extensión del archivo:
// ❌ Esto falla en ESM
import { utils } from './utils';// ✅ Esto funciona
import { utils } from './utils.js';
Paso 3: Verifica tu package.json:
// Para usar import/export (ESM):
{ "type": "module" }// Para usar require() (CommonJS):
{ "type": "commonjs" } // o no poner el campo
Paso 4: Si usas TypeScript con ESM, configura tsconfig.json:
{
"compilerOptions": {
"module": "nodenext",
"moduleResolution": "nodenext"
}
}
Cómo evitarlo en el futuro
Siempre usa extensiones de archivo en imports ESM (.js, .mjs). Define 'type' en package.json desde el inicio del proyecto. Si mezclas ESM y CommonJS, usa dynamic import() para cargar módulos CommonJS desde ESM.
¿Quieres que una IA te ayude? Genera el prompt perfecto para tu error:
Generador de Prompts