Lingua-e
JavaScript

¿Qué significa ERR_REQUIRE_ESM?

← Errores

Node.js lanza ERR_REQUIRE_ESM cuando una llamada CommonJS require() intenta cargar un Módulo ES. CommonJS y los Módulos ES tienen mecanismos de carga diferentes, y Node.js no permite que require() sincrónico cargue Módulos ES asíncronos.

Por qué ocurre

  • Un paquete popular (chalk, node-fetch, etc.) lanzó una nueva versión mayor como solo ESM.
  • Un archivo .mjs o un paquete con 'type': 'module' es requerido desde un módulo CommonJS.
  • Migrar un proyecto a ESM parcialmente y mezclar require() e import.

Ejemplos

JavaScript

Código que causa el error

// In a CommonJS file (.js without "type":"module")
const chalk = require("chalk"); // chalk v5+ is ESM-only

Error en la terminal

Error [ERR_REQUIRE_ESM]: require() of ES Module node_modules/chalk/source/index.js not supported.
Instead change the require of index.js in ... to a dynamic import() which is available in all CommonJS modules.

Cómo solucionarlo

Reemplaza require() con import() dinámico: const mod = await import('pkg'). Alternativamente, fija la última versión CommonJS del paquete (ej. chalk@4). Para proyectos nuevos, migra completamente a ESM agregando 'type': 'module' a package.json.

Código corregido

// Option 1: use dynamic import
const chalk = await import("chalk").then(m => m.default);

// Option 2: downgrade to a CommonJS version (e.g. chalk@4)
// npm install chalk@4

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