Errores de subida y deploy
Estos códigos los devuelven el dashboard, la CLI o la API cuando Square Cloud rechaza una subida. No se despliega nada, así que corrige la causa y vuelve a subir.INVALID_DEPENDENCY
Qué significa: la subida no tiene un archivo de dependencias para su lenguaje, o el archivo está vacío. Square Cloud comprueba que este archivo exista en la raíz del zip antes de instalar nada. Cómo solucionarlo: coloca el archivo de dependencias en la raíz del zip, junto asquarecloud.app, y asegúrate de que no esté vacío: package.json (Node.js, Bun, Deno), requirements.txt o pyproject.toml (Python), Cargo.toml (Rust), Gemfile (Ruby), go.mod o go.work (Go) o mix.exs (Elixir). Luego vuelve a subirlo. Un paquete o una versión mal escritos aparecen después, como un error de instalación en los logs.
KEEP_CALM
Qué significa: tú, o una automatización, repetiste una acción demasiado rápido, como un reinicio, una subida o un snapshot. Cómo solucionarlo: espera un momento e inténtalo de nuevo. La acción rechazada simplemente no se ejecutó:KEEP_CALM nunca detiene ni afecta a una aplicación en ejecución. Si en cambio un snapshot falla con DAILY_SNAPSHOTS_LIMIT_REACHED, la cuota diaria de snapshots de tu plan está agotada hasta el día siguiente.
El sitio web no carga
Qué significa: la aplicación está desplegada, pero al abrir su dirección aparece una de estas páginas en lugar de tu sitio:- “The website took too long to respond”: Square Cloud encontró tu aplicación, pero no recibió respuesta de ella.
- “This site couldn’t be found”: no hay ningún sitio web publicado en esa dirección.
-
Haz que tu servidor escuche en el puerto
80y en el host0.0.0.0. Un servidor enlazado alocalhost,127.0.0.1o a cualquier otro puerto (3000, 5173, 8080…) no es accesible. El runtime define las variables de entornoPORTyHOSTcon esos valores, así que léelas: - Abre los logs: si la aplicación se cayó o todavía está instalando dependencias o haciendo el build, el sitio aún no puede responder. Corrige el error que aparece ahí, o espera a que termine el build.
-
Comprueba que
MEMORYdé suficiente margen al build: un build de framework que se queda sin RAM detiene la aplicación conLACK_OF_RAM.
- Revisa la dirección: es
https://<SUBDOMAIN>.squareweb.app, con el subdominio de tu archivo de configuración. - Si acabas de hacer deploy, espera hasta un minuto a que se publique la dirección.
- Una aplicación desplegada sin
SUBDOMAINno es un sitio web y no puede convertirse en uno: súbela de nuevo como una aplicación nueva conSUBDOMAINdefinido. - En un dominio personalizado, puede que el DNS todavía se esté propagando. Consulta por qué tu dominio aún no se ha propagado.
EADDRINUSE (puerto ya en uso)
Qué significa: la aplicación intenta enlazar el mismo puerto de red dos veces. Por qué ocurre: se inician dos servidores en el código, o una llamada alisten(...) se crea de nuevo dentro de un manejador de eventos (por ejemplo, en cada solicitud o reconexión) en lugar de una sola vez al iniciar.
Cómo solucionarlo:
- Inicia un servidor web, una sola vez, escuchando en el puerto
80y en el host0.0.0.0. - Busca en tu código más de una llamada a
.listen()(Node.js) orun()(Python/Flask/Django) y elimina la duplicada. - Asegúrate de que la llamada a listen esté en el nivel superior de tu archivo de inicio, no dentro de un callback que pueda dispararse más de una vez.
”Cannot find module” (Node.js) y ModuleNotFoundError (Python)
Qué significa: un paquete que tu código importa no está instalado. Por qué ocurre:- La librería no está listada en
dependenciesdepackage.json(Node.js) ni enrequirements.txt/pyproject.toml(Python), por lo que nunca se instala en la plataforma, aunque funcione en tu máquina. - En Node.js, el paquete solo está en
devDependencies. Las aplicaciones se ejecutan conNODE_ENV=production, así quenpm installomite las dependencias de desarrollo.
- Agrega el paquete que falta a
dependencies(o a tu archivo de dependencias de Python) con una versión válida. - Confirma que el propio archivo de dependencias esté incluido en el zip que subiste.
- Reinicia la aplicación. En Node.js, las dependencias solo se instalan cuando
node_modulesno existe: eliminanode_modules(ypackage-lock.json, si subiste uno) en el administrador de archivos del dashboard y reinicia para una reinstalación limpia.
Errores de better-sqlite3 / bindings nativos
Qué significa: un error comoCould not locate the bindings file cuando tu aplicación usa better-sqlite3 (directamente, o a través de quick.db).
Por qué ocurre: la versión instalada de better-sqlite3 es anterior al LTS actual de Node.js de la plataforma, por lo que su binding nativo precompilado no coincide con el runtime.
Cómo solucionarlo:
- Actualiza
better-sqlite3a12.5.0o posterior (si usasquick.db, actualízalo a9.1.7o posterior). - Elimina
node_modulesypackage-lock.json. - Reinicia la aplicación para una reinstalación limpia que reconstruya los bindings nativos contra el runtime actual.
Detenida por un límite de recursos
Si los logs terminan con[SQUARE-SHIELD] LACK_OF_RAM, LACK_OF_CPU o ABUSE_REQUESTS, o al iniciar la aplicación falla con CONTAINER_TEMPORARILY_SUSPENDED, Square Cloud la detuvo por superar sus recursos. La tabla de estados explica cada uno y cómo solucionarlo.
Los horarios tienen unas horas de diferencia
Las aplicaciones se ejecutan en UTC. Una tarea programada para las 09:00 se ejecuta a las 09:00 UTC, y los horarios que tu código imprime en los logs están en UTC. Convierte los horarios en tu código, o consulta cómo cambiar la zona horaria de tu aplicación en el centro de ayuda.Guías relacionadas
- Archivo de configuración: cada campo y el error que genera.
- Variables de entorno: define secretos y reinicia para aplicarlos.
- Errores de bots de Discord y errores de conexión a bases de datos.

