Oi pessoal,
Estou enfrentando um problema ao tentar processar arquivos PDF no n8n.
Mensagem de Erro
Failed to load pdf-parse. This loader currently supports pdf-parse v1 only.
Please install v1, e.g. npm install pdf-parse@^1
(v2 is not yet supported).
Ambiente
n8n Version: 2.20.9
Deployment: [Self-hosted / Docker / npm install]
O Que Estou Tentando Fazer
Estou usando um fluxo de trabalho de carregador de PDF/processamento de documentos e recebo o erro acima sempre que o n8n tenta fazer parse de um PDF.
Perguntas
Alguém encontrou esse problema recentemente?
Qual componente está exigindo a v1 do pdf-parse?
Se estiver executando o n8n em Docker, qual é a forma recomendada para forçar a instalação do pdf-parse@^1?
Existe uma correção de compatibilidade ou uma solução alternativa até que o suporte para v2 seja adicionado?
Qualquer orientação será apreciada.
Obrigado!
Oi @Bhavin_Patel
Você está vendo esse erro porque o n8n está tentando ler um PDF usando uma ferramenta chamada pdf-parse. O problema é que o nó “Document Loader” foi projetado para funcionar apenas com uma versão antiga (v1) dessa ferramenta, mas seu sistema tem uma versão mais recente (v2) instalada. Essa incompatibilidade de versão causa a falha do processo.
Esse problema ocorre porque o n8n depende de uma biblioteca externa chamada LangChain para lidar com documentos. O LangChain tem uma regra rigorosa em seu código que verifica a versão específica do analisador de PDF. Quando detecta a versão mais recente, ele interrompe o fluxo de trabalho e pede para você fazer downgrade, mesmo que a versão mais recente seja geralmente mais atualizada.
A melhor e mais fácil solução é atualizar sua instalação do n8n para a versão 2.23.0 ou superior. O time do n8n lançou uma correção que substitui o rigoroso carregador LangChain por uma versão customizada própria. Esse novo carregador é compatível com pdf-parse v2, o que elimina o erro e permite que seus PDFs sejam processados normalmente.
Se você não conseguir atualizar o n8n e está usando Docker, pode “forçar” a versão antiga de volta ao seu sistema. Para isso, crie um Dockerfile customizado que instale especificamente a versão 1.1.1 do pdf-parse. Isso efetivamente engana o Document Loader fazendo-o pensar que o ambiente está correto para que ele possa funcionar novamente.
FROM docker.n8n.io/n8nio/n8n:2.20.9
USER root
RUN npm install -g pdf-parse@1.1.1
USER node
Nota: Você precisa compilar e executar essa imagem em vez da padrão.
Para uma solução alternativa mais confiável a longo prazo, você pode pular o nó “Document Loader” completamente. Em vez disso, use um “Code Node” para extrair o texto do seu PDF manualmente. Ao ativar uma configuração específica nas variáveis de ambiente, você pode dizer ao n8n para deixar o Code Node lidar com o PDF diretamente, contornando o carregador com problemas e fazendo seu fluxo de trabalho funcionar.
Me avise se foi útil