Error "Cannot find module" en el nodo Code de n8n

Como Ingeniero DevOps y especialista en automatización con n8n, me encuentro frecuentemente con desarrolladores que se enfrentan al infame error "Cannot find module" dentro del nodo Code. Este error puede detener en seco tus flujos de trabajo, frustrando tus esfuerzos por automatizar procesos. Afortunadamente, identificar y solucionar este problema es manejable, y en este artículo desglosaremos las causas más comunes y te guiaré paso a paso para resolverlo.

Resumen Rápido del Problema: El error "Cannot find module" en el nodo Code de n8n indica que el entorno de ejecución de Node.js no puede encontrar un módulo especificado en tu código. Esto generalmente ocurre por problemas con la instalación de dependencias, la configuración del entorno de ejecución o la importación de módulos.

Causas Comunes del Error "Cannot find module"

Este error puede aparecer por varias razones, pero las más habituales son:

  • Dependencias no instaladas o mal instaladas: La ausencia o el error en la instalación de las bibliotecas de Node.js (los "módulos") que tu código necesita.
  • Rutas de importación incorrectas: El código intenta importar un módulo usando una ruta incorrecta, ya sea el nombre del módulo o la ubicación del archivo.
  • Versiones incompatibles de módulos: Conflictos entre las versiones de los módulos que estás utilizando.
  • Problemas de entorno de ejecución: El entorno de Node.js no está configurado correctamente para acceder a los módulos.

Pasos Detallados para Solucionar el Error

1. Verifica y Reinstala las Dependencias

La causa más común del error es la ausencia de las dependencias necesarias. Asegúrate de que las has instalado correctamente. Sigue estos pasos:

  1. Identifica las dependencias: Examina tu código en el nodo Code para identificar los módulos que estás importando. Por ejemplo, si usas la biblioteca axios, necesitarás instalarla.
  2. Accede a la configuración del nodo Code: En n8n, edita el nodo Code y busca la sección de configuración.
  3. Instala las dependencias usando npm:
    • Si estás usando el entorno n8n en local, ejecuta el comando npm install <nombre-del-modulo> en la terminal donde está corriendo tu n8n. Por ejemplo: npm install axios.
    • Si estás usando n8n en un entorno alojado y tu nodo Code se ejecuta en un ambiente con acceso a internet, puedes instalar módulos con el comando npm install <nombre-del-modulo> dentro del nodo Code.
    // Dentro del nodo Code (ejemplo) const axios = require('axios'); // ...resto del código...
  4. Reinicia n8n (si es necesario): En algunos casos, reiniciar n8n puede ayudar a que los cambios se reflejen correctamente.

2. Verifica las Rutas de Importación

Asegúrate de que la forma en la que importas los módulos sea correcta, especialmente si trabajas con archivos locales. Si tus archivos están en la misma carpeta que el nodo Code, la importación suele ser directa. Si están en subcarpetas, especifica la ruta relativa.

// Importación directa (módulo instalado globalmente o en el entorno n8n) const miModulo = require('mi-modulo'); // Importación desde un archivo local (ejemplo) const miFuncion = require('./utils/miArchivo.js');

3. Considera las Versiones de los Módulos

Las incompatibilidades entre versiones de módulos son frecuentes. Esto es especialmente importante si estás usando dependencias específicas. Considera lo siguiente:

  • Verifica las dependencias en tu package.json: Si estás ejecutando tu n8n en local, asegúrate de que el archivo package.json en el directorio raíz de n8n incluya las versiones correctas de tus dependencias.
  • Actualiza las dependencias: Usa el comando npm update o npm install <nombre-del-modulo>@<version> para actualizar o especificar una versión concreta.

4. Entorno de Ejecución y Variables de Entorno

En entornos alojados o en configuraciones más complejas, el entorno de ejecución de Node.js puede influir en la resolución de los módulos. Revisa las variables de entorno:

  • NODE_PATH: Esta variable de entorno especifica dónde buscar módulos. Si está mal configurada, puede causar el error. Asegúrate de que apunte a la ubicación correcta de los módulos instalados.
  • Variables de entorno de n8n: Asegúrate de que n8n está configurado con las variables de entorno necesarias para tu flujo de trabajo.
// Ejemplo de acceso a una variable de entorno en el nodo Code const apiKey = process.env.API_KEY; // Accede a la variable de entorno 'API_KEY' console.log(apiKey);

Resumen de Soluciones

Problema Solución Acciones
Módulo no instalado Instalar el módulo con npm npm install <nombre-del-modulo> (local o dentro del nodo Code)
Rutas de importación incorrectas Verificar las rutas de los módulos Asegurarse de que las rutas relativas sean correctas (./, ../)
Versiones incompatibles Actualizar o especificar versiones de módulos npm update <nombre-del-modulo> o npm install <nombre-del-modulo>@<version>
Problemas de entorno Revisar NODE_PATH y variables de entorno de n8n Configurar correctamente las variables de entorno necesarias.

Domina la Automatización: Flujos de Trabajo Perfectos con Scriflow

Si la automatización de flujos de trabajo se siente abrumadora, y quieres evitar errores como "Cannot find module", considera la potencia de la IA. Con Scriflow, puedes generar flujos de trabajo n8n perfectos y sin errores de manera eficiente. Simplifica el desarrollo y enfócate en lo que realmente importa: la innovación.

¿Atascado con nodos? Genera flujos con IA en 10 segundos.
Probar Scriflow Gratis ⚡