Lingua-e
JavaScript

¿Qué significa spawn ENOENT?

← Errores

Node.js lanza un error spawn ENOENT cuando child_process.spawn() no puede encontrar el ejecutable especificado. Este es el equivalente del proceso de spawn de ENOENT para archivos: el binario no existe en ninguna ubicación del PATH del sistema.

Por qué ocurre

  • El nombre del ejecutable es incorrecto o usa un nombre diferente en este SO (python vs python3).
  • La herramienta no está instalada en el sistema.
  • La herramienta está instalada pero no está en la variable de entorno PATH.
  • En Windows, falta la extensión .exe o se usan rutas de estilo Unix.

Ejemplos

JavaScript

Código que causa el error

const { spawn } = require("child_process");
const proc = spawn("python", ["script.py"]);
proc.on("error", console.error);

Error en la terminal

Error: spawn python ENOENT
    errno: -2,
    code: 'ENOENT',
    syscall: 'spawn python',
    path: 'python'

Cómo solucionarlo

Verifica que el ejecutable exista con which <comando> (Unix) o where <comando> (Windows). Usa la ruta absoluta completa al ejecutable. Asegúrate de que la herramienta requerida esté instalada como parte de tu configuración CI/CD. Usa process.env.PATH para depurar qué directorios se buscan.

Código corregido

const { spawn } = require("child_process");
// Use 'python3' on systems where python3 is the correct binary
const proc = spawn("python3", ["script.py"]);
proc.on("error", (err) => {
  if (err.code === "ENOENT") {
    console.error("python3 not found in PATH");
  }
});

Errores relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis