EADDRINUSE (port déjà utilisé)
Ce que ça signifie : l’application essaie de lier le même port réseau deux fois. Pourquoi ça arrive : deux serveurs sont démarrés dans le code, ou un appel.listen()/app.listen(...) est recréé dans un gestionnaire d’événement (par exemple à chaque requête ou à chaque reconnexion) au lieu d’une seule fois au démarrage.
Comment corriger :
- Liez un seul serveur web, une seule fois, écoutant sur le port
80. - Recherchez dans votre code plus d’un appel
.listen()(Node) ourun()(Python/Flask/Django) et supprimez le doublon. - Vérifiez que l’appel
listense trouve au niveau supérieur de votre fichier de démarrage, et non dans un callback qui peut se déclencher plusieurs fois.
Les applications dynamiques Square Cloud doivent se lier à l’hôte
0.0.0.0 et au port 80. Se lier à localhost/127.0.0.1 ou à tout autre port provoque un délai d’attente du site à la place.« Cannot find module » (Node.js) et ModuleNotFoundError (Python)
Ce que ça signifie : un paquet importé par votre code est manquant dans le fichier de dépendances. Pourquoi ça arrive : la bibliothèque n’est pas listée dans lesdependencies du package.json (Node) ou dans requirements.txt/pyproject.toml (Python), donc elle n’est jamais installée sur la plateforme, même si elle fonctionne sur votre machine.
Comment corriger :
- Ajoutez le paquet manquant au fichier de dépendances avec une version valide.
- Confirmez que le fichier de dépendances lui-même est inclus dans le
.zipque vous avez envoyé. - Redémarrez l’application. Pour Node.js, une réinstallation propre nécessite d’abord de supprimer
node_modules(supprimez-le ainsi quepackage-lock.json, puis redémarrez) afin que la plateforme réinstalle depuis un état propre.
INVALID_DEPENDENCY
Ce que ça signifie : le déploiement a échoué car une entrée de votre fichier de dépendances n’existe pas ou pointe vers une version invalide/indisponible. Comment corriger : ouvrezpackage.json / requirements.txt / pyproject.toml, corrigez le nom de paquet mal orthographié ou la plage de version de l’entrée signalée, puis redéployez.
CONTAINER_TEMPORARILY_SUSPENDED
Ce que ça signifie : le conteneur a été suspendu par la plateforme. Pourquoi ça arrive : ce statut est déclenché par les protections automatiques contre l’abus de ressources, le plus souvent :- OOM (RAM) : l’application a essayé de dépasser sa
MEMORYconfigurée et le processus a été tué. - Abus de CPU : l’application a dépassé en continu son CPU alloué, donc le processus a été suspendu pour protéger le nœud.
- Abus de requêtes : un plafond de sécurité sur le trafic vers les domaines
.squareweb.appou les API de messagerie (Discord, Telegram, WhatsApp) a été déclenché, presque toujours par une boucle infinie ou un cache manquant plutôt qu’une popularité réelle.
KEEP_CALM
Ce que ça signifie : une action liée aux snapshots a été demandée trop rapidement. Pourquoi ça arrive : soit vous (ou une automatisation) avez redemandé un snapshot avant que le court délai de refroidissement de la plateforme entre les demandes de snapshot ne soit écoulé, soit la limite quotidienne de snapshots du compte pour le plan actuel a été atteinte. Notez que ceci diffère deDAILY_SNAPSHOTS_LIMIT_REACHED, qui signale spécifiquement que le quota quotidien du plan est épuisé : KEEP_CALM peut aussi se déclencher sur le délai de refroidissement plus court par application entre les demandes, indépendamment du compte quotidien.
Comment corriger : attendez quelques minutes et réessayez. Si la limite quotidienne a été atteinte, attendez le lendemain, ou passez à un niveau supérieur pour une allocation plus élevée de snapshots automatiques.
Erreurs de bindings natifs better-sqlite3
Ce que ça signifie : une erreur commeCould not locate the bindings file quand votre application utilise better-sqlite3 (directement, ou via quick.db).
Pourquoi ça arrive : la version installée de better-sqlite3 est antérieure à la LTS Node.js actuelle de la plateforme, donc son binding natif précompilé ne correspond pas au runtime.
Comment corriger :
- Mettez à jour
better-sqlite3vers12.5.0ou une version ultérieure (si vous utilisezquick.db, mettez-le à jour vers9.1.7ou une version ultérieure). - Supprimez
node_modulesetpackage-lock.json. - Redémarrez l’application pour une réinstallation propre qui reconstruit les bindings natifs pour le runtime actuel.
LACK_OF_RAM
Ce que ça signifie : l’application a dépassé la RAM allouée, ou le noyau a signalé une condition de manque de mémoire, et le processus a été interrompu pour protéger la stabilité de l’hôte. Comment corriger :- Profilez l’application pour détecter des fuites de mémoire (Node.js :
--inspect, Python :memory_profiler). - Déplacez les caches en mémoire vers Redis ou un autre stockage externe au lieu de laisser grandir indéfiniment un cache/Map en mémoire.
- Augmentez la valeur
MEMORYallouée à votre application dans le panneau de contrôle.

