Skip to content

Fix a failed deploy

When a deploy fails, the console tells you why in plain words and what to do. This page explains each reason it gives. If your site was already live, it keeps running the previous version, so visitors aren’t affected.

  1. Open the deploy’s page. Select See what went wrong on the site’s Overview or Versions tab, or follow the link in the email we send.
  2. Read What went wrong. The first line is the cause, as worded in the headings below, and the second is the fix.
  3. Look at the lines under it, The last lines of the build log or The last lines it printed. They usually name the file, package or setting at fault. Select Show build details for the whole log.
  4. Fix it, then select Try again, or deploy a new version.

For sites connected to GitHub, GitLab, Bitbucket or a Git address, fix the code in the repository and push again: the new commit deploys by itself.

Your build ran out of memory.

Building your site used more memory than a build can have. Builds can use up to 8 GB, shared with any other build running at the same time.

Fix:

  • Look for very large dependencies, or a build step that loads everything into memory at once, such as processing thousands of images.
  • Remove packages you don’t use.
  • Select Try again. If it keeps happening, try again in a few minutes, when fewer builds are running.

Your build took longer than 15 minutes, so we stopped it.

Builds stop after 15 minutes. Most take a minute or two, so a build that runs this long has usually got stuck.

Fix: look for a step that waits for input or never finishes. The usual culprit is a development server (npm run dev, vite, next dev) started as part of the build. The build command should create the files and then stop.

Your app doesn’t have a start command.

Your project is a Node app, but there’s nothing telling it how to start once it’s built.

Fix: add a start script to package.json, then deploy again. For example:

{
"scripts": {
"build": "next build",
"start": "next start"
}
}

For a plain Node server, the start script is usually something like node server.js.

We couldn’t find an index.html or a package.json at the top level.

We look at the top level of what you sent to work out what kind of site it is. A static site needs an index.html there; anything with a build step or a server needs a package.json.

Fix:

  • If you uploaded, upload the folder that contains index.html or package.json, not the folder above it. A zip that holds a single folder with everything inside it is a common cause.
  • For a repository, the console says “The files in this commit can’t go online as they are.” Check the repository and the site’s folder on its Settings tab. If your site lives in a subfolder, such as apps/web, select Change folder and set that. Then push again.

Your site built, but it stopped as soon as it started.

The build worked, but your app exited or threw an error the moment it ran.

Fix: read The last lines it printed. They usually name the file or setting that’s missing. Common causes:

  • A missing environment variable, such as a database address or API key. Add it on the site’s Environment variables tab, then select Deploy now. See Environment variables.
  • A database it can’t reach. Check the details on the site’s Database tab. See Connect a database.
  • A typo or missing file in the code, shown as an error like ReferenceError or Cannot find module.

Your site started but didn’t answer.

Your app is running, but nothing answered when we checked it.

Fix: make your app listen on the port in the PORT environment variable (3000), on all network addresses, not just localhost. In Node, for example:

const port = process.env.PORT || 3000;
app.listen(port, '0.0.0.0');

Also check that your home page (/) answers within 5 seconds without an error. A normal page or a redirect (for example to /login) is fine. We check it before the new version goes live.

The console says: “Your project needs a different version of Node.js than the one it was built with.”

Your framework checked the Node.js version during the build and stopped, with a message like Node.js v20.11.0 is not supported by Astro or requires Node.js 22.12 or later. The lines under the message show what it asked for.

We build with the current long-term support version of Node.js (24) unless your project says otherwise. To choose a version, add it to package.json:

{
"engines": { "node": "24" }
}

or put the version on its own in a .nvmrc file at the top of your project, for example 22.23. Then deploy again.

We couldn’t start your build because of a problem on our side.

Nothing is wrong with your site. We’ve been alerted and are looking into it.

Fix: select Try again in a few minutes. You can check https://cloudzyro-status.statuspage.io for updates.

Your build stopped with an error we didn’t recognise.

The build failed for a reason the console can’t name.

Fix: read The last lines of the build log, or select Show build details for the whole log. The error is usually near the end, often after the word error. Fix it in the project and deploy again. If there are no lines, or you can’t see the cause, select Try again, and if it happens again, contact us.

Use Get help in the console to chat with us, or email support@cloudzyro.com with the site’s name. See Get help.