Zum Hauptinhalt springen
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.
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 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.
Nach dem Abgleich der Logs mit den obigen Fehlern noch nicht weitergekommen? Unser Support-Team kann sich den konkreten Absturz gemeinsam mit dir ansehen.

Kontaktiere uns

Falls du weiterhin technische Schwierigkeiten hast, steht dir unser spezialisiertes Support-Team zur Verfügung. Kontaktiere uns 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 auf Google und Trustpilot bewerten.