Skip to main content
Si votre application est refusée à l’envoi, plante au démarrage ou ne répond jamais, le code d’erreur ou le log de la console indique presque toujours le problème exact. Trouvez l’erreur correspondante ci-dessous.

Erreurs d’envoi et de deploy

Ces codes sont renvoyés par le tableau de bord, la CLI ou l’API lorsque Square Cloud refuse un envoi. Rien n’est déployé : corrigez la cause et envoyez à nouveau.

INVALID_DEPENDENCY

Ce que ça signifie : l’envoi ne contient pas de fichier de dépendances pour son langage, ou ce fichier est vide. Square Cloud vérifie que ce fichier existe à la racine du zip avant d’installer quoi que ce soit. Comment corriger : placez le fichier de dépendances à la racine du zip, à côté de squarecloud.app, et vérifiez qu’il n’est pas vide : package.json (Node.js, Bun, Deno), requirements.txt ou pyproject.toml (Python), Cargo.toml (Rust), Gemfile (Ruby), go.mod ou go.work (Go) ou mix.exs (Elixir). Puis envoyez à nouveau. Un nom de paquet ou une version mal orthographiés apparaissent plus tard, sous forme d’erreur d’installation dans les logs.

KEEP_CALM

Ce que ça signifie : vous, ou une automatisation, avez répété une action trop rapidement, comme un redémarrage, un envoi ou un snapshot. Comment corriger : patientez un moment et réessayez. L’action refusée n’a tout simplement pas été exécutée : KEEP_CALM n’arrête et n’affecte jamais une application en cours d’exécution. Si un snapshot échoue plutôt avec DAILY_SNAPSHOTS_LIMIT_REACHED, le quota quotidien de snapshots de votre plan est épuisé jusqu’au lendemain.

Le site web ne se charge pas

Ce que ça signifie : l’application est déployée, mais son adresse affiche l’une de ces pages au lieu de votre site :
  • “The website took too long to respond” : Square Cloud a trouvé votre application mais n’a reçu aucune réponse de sa part.
  • “This site couldn’t be found” : aucun site web n’est publié à cette adresse.
Comment corriger un délai d’attente dépassé :
  1. Faites écouter votre serveur sur le port 80 et l’hôte 0.0.0.0. Un serveur lié à localhost, 127.0.0.1 ou à tout autre port (3000, 5173, 8080…) est injoignable. Le runtime définit les variables d’environnement PORT et HOST à ces valeurs : lisez-les.
  2. Ouvrez les logs : si l’application a planté ou installe encore ses dépendances ou son build, le site ne peut pas encore répondre. Corrigez l’erreur affichée, ou attendez la fin du build.
  3. Vérifiez que MEMORY laisse assez de place au build : un build de framework qui manque de RAM arrête l’application avec LACK_OF_RAM.
Comment corriger “This site couldn’t be found” :
  1. Vérifiez l’adresse : c’est https://<SUBDOMAIN>.squareweb.app, avec le sous-domaine de votre fichier de configuration.
  2. Si vous venez de déployer, attendez jusqu’à une minute que l’adresse soit publiée.
  3. Une application déployée sans SUBDOMAIN n’est pas un site web et ne peut pas le devenir : envoyez-la à nouveau comme nouvelle application avec SUBDOMAIN défini.
  4. Sur un domaine personnalisé, le DNS est peut-être encore en cours de propagation. Voir pourquoi votre domaine ne s’est pas encore propagé.

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(...) 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 :
  1. Démarrez un seul serveur web, une seule fois, écoutant sur le port 80 et l’hôte 0.0.0.0.
  2. Recherchez dans votre code plus d’un appel .listen() (Node.js) ou run() (Python/Flask/Django) et supprimez le doublon.
  3. Vérifiez que l’appel listen se trouve au niveau supérieur de votre fichier de démarrage, et non dans un callback qui peut se déclencher plusieurs fois.

« Cannot find module » (Node.js) et ModuleNotFoundError (Python)

Ce que ça signifie : un paquet importé par votre code n’est pas installé. Pourquoi ça arrive :
  • La bibliothèque n’est pas listée dans les dependencies du package.json (Node.js) ou dans requirements.txt/pyproject.toml (Python) : elle n’est donc jamais installée sur la plateforme, même si elle fonctionne sur votre machine.
  • En Node.js, le paquet figure seulement dans devDependencies. Les applications tournent avec NODE_ENV=production, donc npm install ignore les dépendances de développement.
Comment corriger :
  1. Ajoutez le paquet manquant à dependencies (ou à votre fichier de dépendances Python) avec une version valide.
  2. Confirmez que le fichier de dépendances lui-même est inclus dans le zip que vous avez envoyé.
  3. Redémarrez l’application. En Node.js, les dépendances ne sont installées que lorsque node_modules n’existe pas : supprimez node_modules (et package-lock.json, si vous l’avez envoyé) dans le gestionnaire de fichiers du tableau de bord, puis redémarrez pour une réinstallation propre.

Erreurs de bindings natifs better-sqlite3

Ce que ça signifie : une erreur comme Could 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 :
  1. Mettez à jour better-sqlite3 vers 12.5.0 ou une version ultérieure (si vous utilisez quick.db, mettez-le à jour vers 9.1.7 ou une version ultérieure).
  2. Supprimez node_modules et package-lock.json.
  3. Redémarrez l’application pour une réinstallation propre qui reconstruit les bindings natifs pour le runtime actuel.

Arrêtée par une limite de ressources

Si les logs se terminent par [SQUARE-SHIELD] LACK_OF_RAM, LACK_OF_CPU ou ABUSE_REQUESTS, ou si le démarrage de l’application échoue avec CONTAINER_TEMPORARILY_SUSPENDED, Square Cloud l’a arrêtée parce qu’elle a dépassé ses ressources. Le tableau des statuts explique chacun d’eux et comment le corriger.

Horaires décalés de quelques heures

Les applications tournent en UTC. Une tâche planifiée à 09:00 s’exécute à 09:00 UTC, et les heures que votre code écrit dans les logs sont en UTC. Convertissez les heures dans votre code, ou consultez comment changer le fuseau horaire de votre application dans le centre d’aide.

Guides associés

Toujours bloqué après avoir comparé les logs aux erreurs ci-dessus ? Notre équipe de support peut examiner le crash spécifique avec vous.

Contactez-nous

Si vous rencontrez toujours des difficultés techniques, notre équipe de support spécialisée est disponible pour vous aider. Contactez-nous et nous serons ravis de vous aider à résoudre tout problème. La qualité du support compte pour beaucoup dans la note que les développeurs donnent à Square Cloud, 4,9/5 sur 402 avis sur Google et Trustpilot.