> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# O App Não Inicia na Square Cloud: EADDRINUSE, Cannot Find Module, INVALID_DEPENDENCY

> Corrija EADDRINUSE porta já em uso, Cannot find module / ModuleNotFoundError, INVALID_DEPENDENCY, CONTAINER_TEMPORARILY_SUSPENDED, KEEP_CALM, erros de bindings do better-sqlite3, e LACK_OF_RAM na Square Cloud.

Sua aplicação trava no boot ou nunca fica online? O log do console quase sempre nomeia o problema exato. Encontre o erro abaixo.

## EADDRINUSE (porta já em uso)

**O que significa:** a aplicação tenta vincular a mesma porta de rede duas vezes.

**Por que acontece:** dois servidores são iniciados no código, ou uma chamada de listener/`app.listen(...)` é criada novamente dentro de um event handler (por exemplo, a cada requisição ou a cada reconexão) em vez de apenas uma vez na inicialização.

**Como corrigir:**

1. Vincule **um único** webserver, **uma única vez**, escutando na porta `80`.
2. Procure no seu código por mais de uma chamada `.listen()` (Node) ou `run()` (Python/Flask/Django) e remova a duplicada.
3. Certifique-se de que a chamada de listen fica no nível superior do seu arquivo de inicialização, não dentro de um callback que pode disparar mais de uma vez.

```javascript theme={null}
// Correct: one listener, at the top level
app.listen(80, "0.0.0.0", () => {
  console.log("Server running");
});
```

<Note>Aplicações dinâmicas da Square Cloud devem se vincular ao host `0.0.0.0` e à porta `80`. Vincular a `localhost`/`127.0.0.1` ou qualquer outra porta causa um timeout do site em vez disso.</Note>

## "Cannot find module" (Node.js) e ModuleNotFoundError (Python)

**O que significa:** um pacote que seu código importa está faltando no arquivo de dependências.

**Por que acontece:** a biblioteca não está listada em `dependencies` do `package.json` (Node) ou em `requirements.txt`/`pyproject.toml` (Python), então ela nunca é instalada na plataforma, mesmo que funcione na sua máquina.

**Como corrigir:**

1. Adicione o pacote faltante ao arquivo de dependências com uma versão válida.
2. Confirme que o próprio arquivo de dependências está incluído no `.zip` que você enviou.
3. Reinicie a aplicação. Para Node.js, uma reinstalação limpa exige apagar o `node_modules` primeiro (delete-o e o `package-lock.json`, depois reinicie) para que a plataforma reinstale do zero.

## INVALID\_DEPENDENCY

**O que significa:** o deploy falhou porque uma entrada no seu arquivo de dependências não existe ou aponta para uma versão inválida/indisponível.

**Como corrigir:** abra o `package.json` / `requirements.txt` / `pyproject.toml`, corrija o nome do pacote ou o intervalo de versão sinalizado com erro de digitação, e refaça o deploy.

## CONTAINER\_TEMPORARILY\_SUSPENDED

**O que significa:** o container foi suspenso pela plataforma.

**Por que acontece:** este status é disparado por proteções automáticas contra abuso de recursos, mais comumente:

* **OOM (RAM):** a aplicação tentou exceder sua `MEMORY` configurada e o processo foi encerrado.
* **Abuso de CPU:** a aplicação excedeu continuamente sua CPU alocada, então o processo foi suspenso para proteger o node.
* **Abuso de requisições:** um limite de segurança no tráfego para domínios `.squareweb.app` ou APIs de mensagens (Discord, Telegram, WhatsApp) foi acionado, quase sempre por um loop infinito ou um cache ausente em vez de popularidade real.

**Como corrigir:** verifique o email associado à sua conta, ele explica qual gatilho causou a suspensão. Depois corrija a causa raiz (vazamento de memória, loop intenso, ou padrão de requisições descontrolado) antes de reiniciar.

## KEEP\_CALM

**O que significa:** uma ação relacionada a snapshot foi solicitada rápido demais.

**Por que acontece:** ou você (ou uma automação) solicitou um snapshot novamente antes do curto cooldown da plataforma entre solicitações de snapshot terminar, ou o limite diário de snapshots da conta para o plano atual foi atingido. Note que isso é diferente de `DAILY_SNAPSHOTS_LIMIT_REACHED`, que sinaliza especificamente que a cota diária do plano foi esgotada: `KEEP_CALM` também pode disparar no cooldown mais curto por aplicação entre solicitações, independente da contagem diária.

**Como corrigir:** aguarde alguns minutos e tente novamente. Se o limite diário foi atingido, aguarde até o dia seguinte, ou faça upgrade para um limite maior de snapshots automáticos.

## Erros de bindings nativos do better-sqlite3

**O que significa:** um erro como `Could not locate the bindings file` quando sua aplicação usa `better-sqlite3` (diretamente, ou através do `quick.db`).

**Por que acontece:** a versão instalada do `better-sqlite3` é anterior à LTS atual do Node.js na plataforma, então seu binding nativo pré-compilado não corresponde ao runtime.

**Como corrigir:**

1. Atualize o `better-sqlite3` para `12.5.0` ou posterior (se você usa `quick.db`, atualize-o para `9.1.7` ou posterior).
2. Delete o `node_modules` **e** o `package-lock.json`.
3. Reinicie a aplicação para uma reinstalação limpa que reconstrói os bindings nativos contra o runtime atual.

## LACK\_OF\_RAM

**O que significa:** a aplicação excedeu a RAM alocada, ou o kernel sinalizou uma condição de falta de memória, e o processo foi encerrado para proteger a estabilidade do host.

**Como corrigir:**

1. Analise a aplicação em busca de vazamentos de memória (Node.js: `--inspect`, Python: `memory_profiler`).
2. Mova caches em memória para o Redis ou outro armazenamento externo em vez de deixar um cache/Map em processo crescer para sempre.
3. Aumente o valor de `MEMORY` alocado para sua aplicação no painel de controle.

Veja o detalhamento completo dos mínimos de RAM, alocação de CPU e limites de rede/armazenamento na [página de Limites e Restrições](/pt-br/platform/limitations-and-restrictions#lack_of_ram).

<Tip>Ainda travado depois de conferir os logs contra o erro acima? Nossa equipe de suporte pode analisar a falha específica com você.</Tip>

## Contate-nos

Se você continuar enfrentando **dificuldades técnicas**, nossa **equipe de suporte especializada** está disponível para auxiliá-lo. [**Entre em contato conosco**](https://squarecloud.app/pt-br/support) e teremos prazer em ajudá-lo a resolver qualquer questão — a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com [**4.9/5 em 402 avaliações**](https://www.trustpilot.com/review/squarecloud.app) no Google e Trustpilot.
