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ásicaPré-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 CustomizadosEstrutura 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 TroubleshootingLogs 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