- Logs › Instalação: a saída do
npm install, dopip installe do build. - Logs › Aplicação: o que o seu código escreveu ao ligar.
A instalação das dependências falhou
O que significa: a instalação das dependências (ou o build) terminou com erro. O projeto fica Com erro e não inicia. Por que acontece: um pacote com nome errado, uma versão que não existe, opackage-lock.json diferente do package.json, versões que não combinam entre si ou um erro no build. O motivo exato fica nas últimas linhas de Logs › Instalação.
Como corrigir:
- Abra Logs › Instalação e leia as últimas linhas.
- Procure a mensagem nesta página: as mais comuns estão logo abaixo.
- Corrija no seu computador e rode o mesmo comando que a Cube roda:
npm ci(compackage-lock.json),npm install(sem ele) oupip install -r requirements.txt. - Envie o código de novo em Configurações › Deploy › Enviar um .zip novo (ou pela API, em Enviar novo código).
npm error 404 Not Found
O que significa: o npm não achou um pacote do package.json no registro de pacotes.
Por que acontece: o nome está errado (discord.jss), o pacote é privado ou foi removido.
Como corrigir:
- Confira o nome do pacote na linha do erro.
- Corrija o
package.jsone rodenpm installno seu computador, para opackage-lock.jsonacompanhar. - Envie o código de novo.
Logs › Instalação
npm ci can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync
O que significa: o package-lock.json que você enviou não bate com o package.json.
Por que acontece: quando o .zip tem package-lock.json, a Cube instala com npm ci, que usa exatamente o que está no lock. Se você mudou o package.json (à mão ou pelo editor do painel) sem rodar npm install, os dois ficam diferentes e o npm ci recusa.
Como corrigir:
- No seu computador, rode
npm installpara atualizar opackage-lock.json. - Envie o código de novo com o
package.jsone opackage-lock.json.
Logs › Instalação
ERESOLVE unable to resolve dependency tree
O que significa: duas dependências pedem versões que não combinam (um pacote quer react@18 e outro, react@19, por exemplo).
Por que acontece: o npm recusa instalar versões que dizem não funcionar juntas.
Como corrigir:
- Leia no log quais pacotes brigam (
Found:eCould not resolve dependency:). - Troque a versão de um deles para uma que combine com o outro.
- Se você sabe que funciona assim mesmo, crie um arquivo
.npmrcna raiz do projeto comlegacy-peer-deps=true, rodenpm installe envie os dois arquivos.
Logs › Instalação
ERROR: No matching distribution found
O que significa: o pip não achou o pacote, ou não achou a versão pedida, no requirements.txt.
Por que acontece: nome errado, versão que não existe ou versão que não funciona na versão do Python do projeto (3.11 ou 3.12).
Como corrigir:
- Confira o nome e a versão na linha do erro. A lista
(from versions: …)mostra as versões que existem. - Corrija o
requirements.txtou troque a versão do Python em Configurações › Geral. - Envie o código de novo.
Logs › Instalação
sh: 1: tsc: not found
O que significa: o comando pediu uma ferramenta que não está instalada no projeto.
Por que acontece: a ferramenta (tsc, nodemon, ts-node, pm2) está instalada só no seu computador, fora do package.json. Na Cube, só existe o que está nas dependências do projeto.
Como corrigir:
- Coloque a ferramenta nas dependências:
npm install -D typescriptpara o build, por exemplo. - Para iniciar, prefira
nodedireto: troquenodemon index.jspornode index.js. Não precisa de ferramenta que reinicia quando o código muda: enviar código novo ou aplicar mudanças já reinicia o projeto que estava no ar. - Envie o código de novo.
Logs
A instalação demorou demais
O que significa: a instalação das dependências passou de 5 minutos e foi interrompida. Por que acontece: dependências demais ou muito pesadas, ou um build longo. Como corrigir:- Tire do
package.jsonou dorequirements.txto que o projeto não usa. - Envie o
package-lock.json: com ele, a instalação é mais rápida. - Envie o código de novo.
A instalação ficou sem memória
O que significa: a instalação passou de 1 GB de memória e foi interrompida. Essa memória é separada da do seu plano. Por que acontece: pacotes muito grandes ou um build que usa muita memória (como onext build de um site grande).
Como corrigir:
- Tire as dependências que o projeto não usa.
- Se o build é o que pesa, diminua o que ele processa (páginas geradas no build, imagens otimizadas na hora).
- Envie o código de novo.
A instalação foi interrompida
O que significa: um problema do nosso lado parou a instalação no meio. Não foi nada no seu código. Como corrigir: envie o código de novo em Configurações › Deploy › Enviar um .zip novo. Se continuar, fale com a gente no Discord.A instalação não terminou
O que significa: você tentou iniciar um projeto cuja última instalação falhou. Não há o que iniciar ainda (install_pending).
Como corrigir: veja o motivo em Logs › Instalação, corrija e envie o código de novo. Quando a instalação dá certo, o projeto pode ser iniciado.
Não foi possível iniciar
O que significa: não conseguimos ligar o projeto. É uma falha do nosso lado ao subir, não do seu código (start_failed).
Como corrigir: clique em Iniciar de novo em instantes. Se continuar, fale com a gente no Discord.
Um comando de início errado não dá esta mensagem: o projeto sobe, o comando falha e ele cai. O erro aparece em Logs › Aplicação, como os de baixo.
Error: Cannot find module
O que significa: o Node.js não achou um arquivo ou um pacote que o código pede.
Por que acontece:
- O caminho é do projeto (
'/dados/app/index.js'): o arquivo principal não está onde o comando diz. É comum quando o.ziptem uma pasta a mais, quando o nome está diferente (Index.jseindex.jssão arquivos diferentes aqui) ou quando o comando aponta paradist/sem build. - É o nome de um pacote (
'discord.js'): o pacote não está nopackage.json, então nunca foi instalado.
- Para arquivo: abra Arquivos e confira o caminho. Ajuste o Arquivo principal em Configurações › Geral.
- Para pacote: rode
npm install <pacote>no seu computador e envie opackage.jsone opackage-lock.json. - Para
dist/: confira se opackage.jsontem o scriptbuilde se o build terminou em Logs › Instalação.
Logs › Aplicação
ModuleNotFoundError: No module named
O que significa: o Python não achou um pacote que o código importa.
Por que acontece: o pacote não está no requirements.txt. A Cube instala só o que está nele (um projeto só com pyproject.toml precisa de um requirements.txt também). O nome do import também pode ser diferente do nome do pacote: import discord vem do pacote discord.py.
Como corrigir:
- Coloque o pacote no
requirements.txt, com a versão:discord.py==2.4.0. - Envie o código de novo.
Logs › Aplicação
python: can't open file
O que significa: o arquivo que o comando manda rodar não existe no projeto.
Por que acontece: o nome ou a pasta do arquivo no comando está diferente do que foi enviado (main.py e Main.py são arquivos diferentes aqui).
Como corrigir: confira o arquivo em Arquivos e ajuste o Arquivo principal em Configurações › Geral.
Logs › Aplicação
SyntaxError: Cannot use import statement outside a module
O que significa: o código usa import (ES Modules), mas o Node.js está lendo o arquivo como CommonJS.
Como corrigir: coloque "type": "module" no package.json, ou troque os import por require, e envie de novo.
package.json
EACCES: permission denied
O que significa: o código tentou gravar um arquivo fora dos lugares permitidos.
Por que acontece: o projeto roda sem privilégios de administrador e só grava dentro da própria pasta e em /tmp. Um caminho absoluto como /data.json fica fora dela.
Como corrigir: use caminhos relativos à pasta do projeto (./data.json ou path.join(__dirname, 'data.json') no Node.js, Path(__file__).parent / 'data.json' no Python). Veja Onde o seu app pode gravar.
Logs › Aplicação
EOFError: EOF when reading a line
O que significa: o código Python chamou input() e não há teclado para responder.
Por que acontece: os logs são só leitura. O processo não recebe o que você digita, então um input() termina na hora com este erro.
Como corrigir: tire o input(). Para configurar o projeto, use variáveis de ambiente ou comandos do próprio Discord.
Logs › Aplicação
Parado logo depois de iniciar
O que significa: o processo terminou sozinho, sem erro (código de saída0). Um projeto que termina normalmente fica Parado, sem reinício automático.
Por que acontece: o arquivo principal roda e acaba, como um script que não fica esperando nada, ou o código chama process.exit(0) / sys.exit(0).
Como corrigir: confira se o comando inicia o seu bot ou servidor, e não um script que termina. Em Logs › Aplicação, a última linha costuma mostrar o que rodou.
