Problema ao usar n8n localmente: npm EALLOWREMOTE ao instalar xlsx

Descreva o problema/erro/pergunta

Estou executando o n8n localmente no Windows.
Estou tentando instalar o pacote xlsx, mas recebo o seguinte erro:
npm ERR! code EALLOWREMOTE
npm ERR! Fetching packages of type “remote” have been disabled
npm ERR! Refusing to fetch “xlsx@https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz
Alguém já encontrou isso antes?
Há uma forma recomendada de instalar o pacote xlsx para uma configuração local do n8n?

image

Qual é a mensagem de erro (se houver)?

Por favor, compartilhe seu fluxo de trabalho

(Selecione os nós na sua tela e use os atalhos de teclado CMD+C/CTRL+C e CMD+V/CTRL+V para copiar e colar o fluxo de trabalho.)

Compartilhe a saída retornada pelo último nó

Informações sobre sua configuração do n8n

  • versão do n8n:
  • Banco de dados (padrão: SQLite):
  • Configuração EXECUTIONS_PROCESS do n8n (padrão: own, main):
  • Executando n8n via (Docker, npm, n8n cloud, aplicativo de desktop):
  • Sistema operacional:

Obrigado por nos informar sobre isso. Criamos CV-12 como o ticket interno de desenvolvimento para investigar.

Analisamos esta questão e não conseguimos confirmar que se trata de um bug. Por enquanto, fechamos o ticket interno, mas se começar a parecer que é um bug, nossa equipe de moderação sinalizará isso novamente.

Bem-vindo @dit!

O erro EALLOWREMOTE é intencional no aplicativo de desktop n8n no Windows - ele isola as instalações de pacotes npm e bloqueia a busca de pacotes em registros remotos como CDNs. Não é exatamente um bug, apenas uma limitação do ambiente de desktop local.

Solução alternativa: você não precisa do nó comunitário xlsx se apenas precisar ler/escrever arquivos Excel. O nó “Spreadsheet File” integrado lida com .xlsx nativamente sem necessidade de instalação extra. Se você especificamente precisar do pacote npm xlsx para um nó Code, mude para executar n8n via npx n8n ou Docker em vez do aplicativo de desktop - esse ambiente não tem a restrição de busca remota.

Obrigado pela explicação!

Porém, acho que meu problema é um pouco diferente. Não estou tentando instalar o pacote xlsx ou usar o nó Spreadsheet File.

Estou simplesmente tentando instalar o próprio n8n usando:

npm install -g n8n

A instalação falha com:

npm ERR! code EALLOWREMOTE
npm ERR! Fetching packages of type “remote” have been disabled
npm ERR! Refusing to fetch “xlsx@https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz

Parece que o instalador está tentando buscar o pacote xlsx automaticamente durante a instalação do n8n. Nunca instalei xlsx manualmente.

Também tentei executar:

npx n8n

mas recebo o mesmo erro.

Meu ambiente:

  • SO: Windows
  • Node.js: v24.18.0
  • npm: 12.0.1

Alguém já passou por isso? É um problema de compatibilidade com Node.js/npm, ou há outra dependência causando o instalador a buscar xlsx da CDN SheetJS?

@dit

Você pode resolver isso permitindo explicitamente buscas remotas durante a instalação. Execute o seguinte comando no seu terminal:

Para Windows (Command Prompt/PowerShell):

npm install -g n8n --allow-remote-fetch

Se isso não funcionar, você pode definir a configuração globalmente primeiro:

npm config set allow-remote-fetch true
npm install -g n8n

Plaintext

Olá! Você está enfrentando um caso clássico do npm sendo um pouco mais seguro do que deveria ser.

O erro `EALLOWREMOTE` significa que seu cliente npm está configurado para impedir a busca de pacotes diretamente de URLs remotas (como a CDN do SheetJS). Esta é uma medida de segurança, mas bloqueia completamente a instalação do pacote `xlsx`.

Aqui está a maneira passo a passo para contornar isso e fazer funcionar sua configuração local de n8n no Windows:

**1. Ativar Temporariamente Buscas Remotas no npm**
Abra seu prompt de comando (CMD ou PowerShell) e execute:
`npm config set allow-remote-fetch true`

**2. Criar um Diretório Dedicado para Pacotes Externos**
É uma boa prática manter pacotes externos separados dos arquivos principais do n8n.
```cmd
mkdir C:\n8n_external_packages
cd C:\n8n_external_packages

3. Inicializar npm e Instalar o Pacote Dentro deste novo diretório, execute:

DOS

npm init -y
npm install xlsx

4. Configurar n8n para Permitir e Encontrar o Pacote Você precisa dizer ao n8n para permitir módulos externos no nó Code e onde encontrá-los em sua máquina Windows. Antes de iniciar o n8n, defina estas duas variáveis de ambiente em seu terminal:

DOS

set NODE_FUNCTION_ALLOW_EXTERNAL=xlsx
set NODE_PATH=C:\n8n_external_packages\node_modules
n8n start

5. Reverter Configuração do npm (Recomendado) Por motivos de segurança, após instalar o pacote, você pode reativar o bloqueio de busca remota: npm config set allow-remote-fetch false

Após iniciar o n8n, você pode usar const XLSX = require('xlsx'); em seus nós Code sem problemas!

P.S. Na verdade, passei seu post exato do fórum pelo n8n Mastery / Sensei (um Co-piloto IA gratuito e gamificado que acabei de construir para a comunidade n8n), e ele diagnosticou corretamente o bloqueio de CDN EALLOWREMOTE e gerou essa solução!

Estou anexando uma captura de tela de sua análise completa abaixo. Se você quiser depurar workflows e erros de npm como este instantaneamente sem sair de sua tela do n8n, você pode conferir aqui: https://n8n-sensei-app-nu.vercel.app/

Espero que isso ajude você a voltar a automatizar suas planilhas!