Si estás trabajando con n8n y has intentado utilizar axios dentro de un nodo de código (Code), es posible que te hayas encontrado con el siguiente error:
Este error ocurre porque, por defecto, n8n restringe el uso de módulos externos en los nodos de código. A continuación, veremos cómo solucionar este problema.
🔹 Paso 1: Instalar axios
Si aún no has instalado axios, puedes hacerlo ejecutando el siguiente comando:
Si estás utilizando Docker, instala axios dentro del contenedor de n8n con:
🔹 Paso 2: Habilitar el uso de módulos externos en n8n
Para permitir que axios se utilice dentro de un nodo de código en n8n, debes configurar la variable de entorno NODE_FUNCTION_ALLOW_EXTERNAL.
Opción 1: Configurar en Docker
Si usas Docker, edita tu archivo docker-compose.yml y agrega lo siguiente dentro del bloque environment:
Luego, reinicia el contenedor:
Opción 2: Configurar en un Servidor Local
Si estás ejecutando n8n sin Docker, exporta la variable de entorno manualmente antes de iniciar n8n:
🔹 Paso 3: Usar axios en el Nodo de Código
Después de configurar la variable de entorno, puedes utilizar axios en n8n con global.require de la siguiente manera:
Si el error persiste, prueba ejecutando este código para verificar si require está disponible:
Si require no aparece en la salida, significa que la configuración de n8n aún no permite el uso de módulos externos.
🚀 Conclusión
El error Cannot find module 'axios' en n8n se debe a que los módulos externos están deshabilitados por defecto en los nodos de código. Para solucionarlo, es necesario:
- Instalar
axiosen tu entorno. - Habilitar
NODE_FUNCTION_ALLOW_EXTERNAL=axiosen la configuración de n8n. - Utilizar
global.require('axios')dentro del nodo de código.
Con estos pasos, ya podrás utilizar axios sin problemas en n8n para hacer peticiones HTTP dentro de tus flujos de automatización. 🚀



