
Quando o npm install falha, a mensagem costuma ser comprida, mas a causa cabe numa de meia dúzia de famílias. A resposta curta: procure na saída a primeira linha que começa por npm ERR! (ou npm error, nas versões mais recentes) e o código que a segue (EACCES, ERESOLVE, ENOSPC…). O código diz quase tudo. Este artigo serve para a hospedagem (cPanel) e para um VPS.
O código, e o que significa
| O que vê | O que é | O que fazer |
EACCES (permission denied) |
O npm tentou escrever onde o seu utilizador não pode, quase sempre por causa de um -g (instalação global) ou de uma pasta que pertence a outro utilizador. |
No cPanel não use instalações globais nem sudo: instale no projecto, dentro do ambiente da aplicação. Num VPS, não use sudo npm install no projecto: corrija o dono da pasta (chown) em vez de contornar. Veja também permission denied numa aplicação Node.js ou Python. |
ERESOLVE (unable to resolve dependency tree) |
Duas bibliotecas pedem versões incompatíveis de uma terceira (conflito de peer dependencies). | A solução limpa é alinhar as versões. Para avançar já, npm install --legacy-peer-deps ignora o conflito. A opção --force é mais agressiva: use-a só se souber o que o conflito significa. |
JavaScript heap out of memory |
O Node esgotou a memória que lhe cabe a compilar ou a instalar. | Compile no seu computador e envie o resultado. Num VPS, pode aumentar o limite do Node, por exemplo com NODE_OPTIONS=--max-old-space-size=2048 (o valor é um exemplo), se a máquina tiver memória livre. |
ENOSPC ou «quota exceeded» |
Sem espaço no disco, ou o limite de ficheiros (inodes) da conta foi atingido. | Veja os limites da conta. Apague o que não usa e instale só o que a produção precisa. |
node-gyp, gcc, Python.h |
Uma biblioteca tem partes que se compilam, e faltam ferramentas. | Procure uma versão com binário pronto, ou uma alternativa em JavaScript puro. Num VPS pode instalar as ferramentas de compilação do sistema. |
ETIMEDOUT, ENOTFOUND |
O servidor não chegou ao registo do npm: rede ou DNS. | Repita; confirme a ligação com curl -I https://registry.npmjs.org. |
EINTEGRITY |
A cache do npm ficou corrompida. | npm cache verify e instale de novo. |
A rotina que resolve a maioria
|
|
|
|
Não use sudo para calar um EACCES. Faz a instalação passar e deixa ficheiros do projecto a pertencer ao root, o que gera o erro seguinte, e outro depois. No cPanel nem existe root. Se o problema é uma pasta com o dono errado, corrija o dono.
|
| Guarde a mensagem inteira antes de apagar nada: o npm escreve um ficheiro de registo (o caminho aparece no fim do erro). Se pedir ajuda, é isso que mais ajuda quem lê. Para escolher o gestor e o ficheiro de bloqueio certos, veja npm, yarn ou pnpm. |
|
A instalação falha e não percebe porquê? Envie-nos o domínio e a primeira linha de erro. Abrir um pedido de suporte |
|
VEJA TAMBÉM |
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 5.940,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |
- 0 Utilizadores acharam útil











