Node.js lanza ERR_INVALID_ARG_TYPE cuando una función de API incorporada recibe un argumento del tipo incorrecto. El mensaje de error especifica el nombre del argumento, los tipos esperados y el valor real recibido.
Por qué ocurre
- •Pasar un número donde se espera una cadena de ruta de archivo.
- •Pasar undefined o null a una función que requiere un Buffer o cadena.
- •Una variable que contiene el tipo incorrecto debido a un error de lógica anterior.
- •Desestructurar la propiedad incorrecta de un objeto antes de pasarla a una API.
Ejemplos
Código que causa el error
const fs = require("fs");
fs.readFile(123, "utf8", (err, data) => console.log(data));Error en la terminal
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received type number (123)
Cómo solucionarlo
Lee el mensaje de error cuidadosamente: nombra el argumento y el tipo esperado. Valida los tipos de entrada antes de pasarlos a las APIs de Node.js. Usa TypeScript o tipos JSDoc para detectar estos desajustes en tiempo de desarrollo.
Código corregido
const fs = require("fs");
fs.readFile("./data.txt", "utf8", (err, data) => {
if (err) throw err;
console.log(data);
});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