No momento você está vendo Configurações do ambiente desenvolvimento do N8N

Configurações do ambiente desenvolvimento do N8N

Estou dando meus primeiros passos com o desenvolvimento do n8n para criar alguns novos nodes e adicionar mais recursos principalmente do node do Mautic e logo de cara me deparei com alguns ajustes importantes.

A licença do n8n permite que você faça uma cópia do código, colabore com correções ou novos nodes e envie de volta para a equipe de desenvolvimento analisar e possivelmente incluir a sua colaboração no projeto.

Neste artigo vou explicar como resolver os principais problemas na configuração do ambiente de desenvolvimento do n8n.

Instalando o Node

Em um ambiente Debian 10, a instalação do node.js pode ser feita através dos seguintes comandos:

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash

sudo apt-get update

sudo apt-get install -y nodejs

Agora que você tem o nodejs instalado, vamos realizar um ajuste que vai eliminar o seguinte erro:

lerna ERR! npm run build exited 2 in 'n8n-node-dev'

O npm 7 bloqueará as instalações se houver um conflito de dependência upstream que não possa ser resolvido automaticamente. Isso com certeza vai acontecer com o seu ambiente n8n.

Para resolver esse problema, basta executar o seguinte comando no terminal:

npm config set legacy-peer-deps true

Desse modo você está instruindo o npm a ignorar esses alertas de dependências. Problema resolvido.

Instalando as dependências de desenvolvimento do n8n

Se você deseja alterar ou estender o n8n, deve ter certeza de que todas as dependências necessárias estão instaladas e os pacotes foram vinculados corretamente.

Os pacotes que o n8n usa dependem de algumas ferramentas de construção:

apt-get install -y build-essential python

O n8n está dividido em diferentes módulos, todos em um único repositório. Para facilitar o gerenciamento desses módulos, o n8n utiliza o lerna.

Assim o lerna configura automaticamente os links de arquivos entre módulos que dependem uns dos outros.

Portanto, para que a configuração funcione corretamente, o lerna deve ser instalado globalmente desta forma:

npm install -g lerna

Pronto. Agora podemos continuar com o nosso setup.

Faça um fork do n8n-io/n8n no Github

Agora você precisa fazer um fork do repositório n8nio/n8n para a sua conta do github. Um fork é uma cópia de um repositório.

O fork de um repositório permite que você experimente livremente as alterações sem afetar o projeto original.

Faça um fork do n8n no Github

Agora faça o checkout do seu repositório no seu computador:

git clone https://github.com/<yourusername>/n8n.git

Acesse a pasta que você acabou de fazer checkout, e adicione o repositório n8n original como upstream ao seu fork:

git remote add upstream https://github.com/n8n-io/n8n.git

Agora, vai um outro truque: durante o processo de build, você irá alterar o package.json, o que não é aconselhado pois este é mantido pelo time do n8n. Para evitar que o seu package.json entre nas suas pull requests, basta executar o seguinte comando:

git update-index --skip-worktree package.json

Você pode realizar esse comando para qualquer outro arquivo que você deseja alterar localmente, porém não quer enviar na pull request 😉

Pronto, agora vamos instalar todas as dependências de todos os módulos e vinculá-los com o lerna:

lerna bootstrap --hoist

Esse processo é bem demorado, basta acompanhar o progresso e você terá seu ambiente configurado.

Conclusão

Agora é só você realizar os ajustes, traduções, correções e adicionar novos nodes ao n8n.

Um abraço!

Deixe um comentário