> ## 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.

# App startet nicht auf Square Cloud: EADDRINUSE, Cannot Find Module, INVALID_DEPENDENCY

> Behebe EADDRINUSE Port already in use, Cannot find module / ModuleNotFoundError, INVALID_DEPENDENCY, CONTAINER_TEMPORARILY_SUSPENDED, KEEP_CALM, better-sqlite3-Bindungsfehler und LACK_OF_RAM auf Square Cloud.

Wenn deine Anwendung beim Start abstürzt oder nie online geht, nennt das Konsolenlog fast immer das genaue Problem. Finde den passenden Fehler unten.

## EADDRINUSE (Port bereits belegt)

**Was es bedeutet:** die App versucht, denselben Netzwerkport zweimal zu binden.

**Warum es passiert:** im Code werden zwei Server gestartet, oder ein Listener-/`app.listen(...)`-Aufruf wird erneut innerhalb eines Event-Handlers erzeugt (zum Beispiel bei jeder Anfrage oder jedem Reconnect), statt nur einmal beim Start.

**So behebst du es:**

1. Binde **einen** Webserver, **einmal**, auf Port `80`.
2. Durchsuche deinen Code nach mehr als einem `.listen()`-Aufruf (Node) oder `run()`-Aufruf (Python/Flask/Django) und entferne den doppelten.
3. Stelle sicher, dass der Listen-Aufruf auf oberster Ebene deiner Startdatei steht, nicht innerhalb eines Callbacks, der mehrfach ausgelöst werden kann.

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

<Note>Dynamische Apps auf Square Cloud müssen an den Host `0.0.0.0` und Port `80` binden. Ein Binding an `localhost`/`127.0.0.1` oder einen anderen Port führt stattdessen zu einem Site-Timeout.</Note>

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

**Was es bedeutet:** ein von deinem Code importiertes Paket fehlt in der Abhängigkeitsdatei.

**Warum es passiert:** die Bibliothek ist nicht in den `dependencies` der `package.json` (Node) oder in `requirements.txt`/`pyproject.toml` (Python) aufgeführt, sodass sie auf der Plattform nie installiert wird, selbst wenn sie auf deinem Rechner funktioniert.

**So behebst du es:**

1. Füge das fehlende Paket mit einer gültigen Version zur Abhängigkeitsdatei hinzu.
2. Bestätige, dass die Abhängigkeitsdatei selbst in der hochgeladenen `.zip` enthalten ist.
3. Starte die Anwendung neu. Für Node.js erfordert eine saubere Neuinstallation zunächst das Löschen von `node_modules` (lösche es und `package-lock.json`, dann starte neu), damit die Plattform von einem sauberen Zustand aus neu installiert.

## INVALID\_DEPENDENCY

**Was es bedeutet:** das Deployment ist fehlgeschlagen, weil ein Eintrag in deiner Abhängigkeitsdatei nicht existiert oder auf eine ungültige/nicht verfügbare Version verweist.

**So behebst du es:** öffne `package.json` / `requirements.txt` / `pyproject.toml`, korrigiere den falsch geschriebenen Paketnamen oder den Versionsbereich des markierten Eintrags und deploye erneut.

## CONTAINER\_TEMPORARILY\_SUSPENDED

**Was es bedeutet:** der Container wurde von der Plattform suspendiert.

**Warum es passiert:** dieser Status wird durch automatische Schutzmaßnahmen gegen Ressourcenmissbrauch ausgelöst, am häufigsten:

* **OOM (RAM):** die App versuchte, ihren konfigurierten `MEMORY`-Wert zu überschreiten, und der Prozess wurde beendet.
* **CPU-Missbrauch:** die App überschritt kontinuierlich ihre zugewiesene CPU, sodass der Prozess suspendiert wurde, um den Knoten zu schützen.
* **Request-Missbrauch:** eine Sicherheitsgrenze für Traffic zu `.squareweb.app`-Domains oder Messaging-APIs (Discord, Telegram, WhatsApp) wurde ausgelöst, fast immer durch eine Endlosschleife oder einen fehlenden Cache statt durch echte Beliebtheit.

**So behebst du es:** prüfe die mit deinem Konto verknüpfte E-Mail, sie erklärt, welcher Auslöser die Suspendierung verursacht hat. Behebe dann die eigentliche Ursache (Memory Leak, heiße Schleife oder unkontrolliertes Request-Muster), bevor du neu startest.

## KEEP\_CALM

**Was es bedeutet:** eine Snapshot-bezogene Aktion wurde zu schnell angefordert.

**Warum es passiert:** entweder hast du (oder eine Automatisierung) erneut einen Snapshot angefordert, bevor die kurze Abkühlphase der Plattform zwischen Snapshot-Anfragen abgelaufen ist, oder das tägliche Snapshot-Limit des Kontos für den aktuellen Plan wurde erreicht. Beachte, dass dies sich von `DAILY_SNAPSHOTS_LIMIT_REACHED` unterscheidet, was speziell anzeigt, dass das Tageskontingent des Plans ausgeschöpft ist: `KEEP_CALM` kann auch bei der kürzeren App-spezifischen Abkühlphase zwischen Anfragen auftreten, unabhängig von der Tageszahl.

**So behebst du es:** warte ein paar Minuten und versuche es erneut. Wenn das Tageslimit erreicht wurde, warte bis zum nächsten Tag oder upgrade für ein höheres automatisches Snapshot-Kontingent.

## better-sqlite3 / Fehler bei nativen Bindungen

**Was es bedeutet:** ein Fehler wie `Could not locate the bindings file`, wenn deine App `better-sqlite3` verwendet (direkt oder über `quick.db`).

**Warum es passiert:** die installierte `better-sqlite3`-Version stammt aus der Zeit vor der aktuellen Node.js-LTS-Version der Plattform, sodass ihre vorgefertigte native Bindung nicht zur Laufzeitumgebung passt.

**So behebst du es:**

1. Aktualisiere `better-sqlite3` auf `12.5.0` oder höher (falls du `quick.db` verwendest, aktualisiere es auf `9.1.7` oder höher).
2. Lösche `node_modules` **und** `package-lock.json`.
3. Starte die Anwendung für eine saubere Neuinstallation neu, die die nativen Bindungen gegen die aktuelle Laufzeitumgebung neu erstellt.

## LACK\_OF\_RAM

**Was es bedeutet:** die Anwendung hat ihren zugewiesenen RAM überschritten, oder der Kernel hat eine Out-of-Memory-Bedingung signalisiert, und der Prozess wurde beendet, um die Stabilität des Hosts zu schützen.

**So behebst du es:**

1. Profiliere die App auf Memory Leaks (Node.js: `--inspect`, Python: `memory_profiler`).
2. Verschiebe In-Memory-Caches nach Redis oder einen anderen externen Speicher, statt einen In-Process-Cache/eine Map endlos wachsen zu lassen.
3. Erhöhe den `MEMORY`-Wert, der deiner Anwendung im Control Panel zugewiesen ist.

Siehe die vollständige Übersicht der RAM-Mindestwerte, CPU-Zuweisung und Netzwerk-/Speicherlimits auf der Seite [Limits und Einschränkungen](/de/platform/limitations-and-restrictions#lack_of_ram).

<Tip>Nach dem Abgleich der Logs mit den obigen Fehlern noch nicht weitergekommen? Unser Support-Team kann sich den konkreten Absturz gemeinsam mit dir ansehen.</Tip>

## Kontaktiere uns

Falls du weiterhin **technische Schwierigkeiten** hast, steht dir unser **spezialisiertes Support-Team** zur Verfügung. [**Kontaktiere uns**](https://squarecloud.app/de/support) und wir helfen dir gerne, jedes Problem zu lösen — die Qualität unseres Supports ist ein wichtiger Grund, warum Entwickler Square Cloud mit [**4,9/5 bei 402 Bewertungen**](https://www.trustpilot.com/review/squarecloud.app) auf Google und Trustpilot bewerten.
