Solución: Error ENOENT no such file or directory en Node.js
Error ENOENT al ejecutar npm install, leer archivos o iniciar servidores Node.js? Causas y solución rápida paso a paso.
¿Por qué ocurre?
Node.js intenta acceder a un archivo o directorio que no existe. Las causas más frecuentes son: ruta con typo, el directorio node_modules no existe (falta npm install), el archivo fue borrado o movido, o estás ejecutando el comando desde la carpeta equivocada.
Solución paso a paso
Paso 1: Verifica que estás en la carpeta correcta:
pwd # Linux/Mac
cd # Windows (muestra la carpeta actual)
ls # ¿Ves package.json? Si no, estás en otra carpeta
Paso 2: Si falta node_modules/:
npm install
Paso 3: Si el error menciona un archivo específico:
# Verifica que existe
ls -la ruta/al/archivo.js# Si es una ruta relativa, asegúrate de que es relativa al CWD, no al archivo
Paso 4: Si ocurre con fs.readFile o fs.writeFile:
import { fileURLToPath } from 'url';
import { dirname, join } from 'path';// ❌ Relativo al CWD (cambia según desde dónde ejecutes)
fs.readFileSync('./data/config.json');
// ✅ Relativo al archivo actual (siempre funciona)
const __dirname = dirname(fileURLToPath(import.meta.url));
fs.readFileSync(join(__dirname, 'data', 'config.json'));
Cómo evitarlo en el futuro
Usa siempre rutas absolutas con __dirname o import.meta.url. Verifica la existencia del archivo con fs.existsSync() antes de leerlo. Añade package-lock.json al control de versiones para que npm install sea determinista.
¿Quieres que una IA te ayude? Genera el prompt perfecto para tu error:
Generador de Prompts