Pular para o conteúdo principal

Instalação via NPM

Este guia detalha como instalar n8n via npm para máximo controle e customização, ideal para desenvolvimento, testes e ambientes personalizados.

Instalação Básica

Pré-requisitos

# Node.js 18+ e npm
node --version
npm --version

# Instalar n8n globalmente
npm install -g n8n

# Ou instalar localmente
npm install n8n

Executar n8n

# Executar globalmente
n8n start

# Executar localmente
npx n8n start

# Com configurações customizadas
n8n start --tunnel

Desenvolvimento de Nodes Customizados

Estrutura de um Node

import { IExecuteFunctions } from 'n8n-core';
import { INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';

export class MyNode implements INodeType {
  description: INodeTypeDescription = {
    displayName: 'Meu Node',
    name: 'myNode',
    icon: 'file:myNode.svg',
    group: ['transform'],
    version: 1,
    description: 'Descrição do meu node customizado',
    defaults: {
      name: 'Meu Node',
    },
    inputs: ['main'],
    outputs: ['main'],
    properties: [
      {
        displayName: 'Operação',
        name: 'operation',
        type: 'string',
        default: 'process',
        description: 'Operação a ser executada',
      },
    ],
  };

  async execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {
    const items = this.getInputData();
    const returnData: INodeExecutionData[] = [];

    for (let i = 0; i < items.length; i++) {
      const operation = this.getNodeParameter('operation', i) as string;
      
      // Sua lógica aqui
      const processedData = {
        ...items[i].json,
        processed: true,
        operation,
      };

      returnData.push({
        json: processedData,
      });
    }

    return [returnData];
  }
}

Debug e Troubleshooting

Logs Detalhados

# Habilitar logs detalhados
DEBUG=n8n:* n8n start

# Aumentar memória heap
NODE_OPTIONS="--max-old-space-size=4096" n8n start

Problemas de Rede

# Verificar conectividade
curl -I http://localhost:5678

# Verificar portas em uso
netstat -tulpn | grep 5678

# Configurar proxy
n8n start --proxy http://proxy:8080

Problemas de Permissão

# Corrigir permissões no Linux
sudo chown -R $USER:$USER ~/.n8n

# Corrigir permissões no Windows
icacls "%USERPROFILE%\.n8n" /grant "%USERNAME%":(OI)(CI)F