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:
- Binde einen Webserver, einmal, auf Port
80. - Durchsuche deinen Code nach mehr als einem
.listen()-Aufruf (Node) oderrun()-Aufruf (Python/Flask/Django) und entferne den doppelten. - Stelle sicher, dass der Listen-Aufruf auf oberster Ebene deiner Startdatei steht, nicht innerhalb eines Callbacks, der mehrfach ausgelöst werden kann.
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.”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 dendependencies 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:
- Füge das fehlende Paket mit einer gültigen Version zur Abhängigkeitsdatei hinzu.
- Bestätige, dass die Abhängigkeitsdatei selbst in der hochgeladenen
.zipenthalten ist. - Starte die Anwendung neu. Für Node.js erfordert eine saubere Neuinstallation zunächst das Löschen von
node_modules(lösche es undpackage-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: öffnepackage.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.
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 vonDAILY_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 wieCould 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:
- Aktualisiere
better-sqlite3auf12.5.0oder höher (falls duquick.dbverwendest, aktualisiere es auf9.1.7oder höher). - Lösche
node_modulesundpackage-lock.json. - 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:- Profiliere die App auf Memory Leaks (Node.js:
--inspect, Python:memory_profiler). - Verschiebe In-Memory-Caches nach Redis oder einen anderen externen Speicher, statt einen In-Process-Cache/eine Map endlos wachsen zu lassen.
- Erhöhe den
MEMORY-Wert, der deiner Anwendung im Control Panel zugewiesen ist.

