Skip to content

Troubleshooting builds

Open the failed deployment: the step that failed is highlighted, and its log usually names the problem. Locally, hiraiship deploy --verbose prints every line.

Installing fails

The lockfile doesn't match package.json. pnpm install and yarn install refuse an outdated lockfile on a fresh machine. Run the install locally, commit the updated lockfile, deploy again.

A package can't be downloaded. Builds only reach the public npm and Yarn registries, GitHub and nodejs.org. A private registry, or a package that downloads a binary from elsewhere, fails. See Network access.

The wrong package manager runs. Hiraiship picks it from the lockfile at the root of what you deploy. Keep a single lockfile there, or set the install command.

Building fails

It works locally. The usual differences:

  • a file your build needs is excluded from the upload by .gitignore. See Ignoring files;
  • your build reads a variable from a local .env file, which is never uploaded. Put the value in the build command instead; see Vite;
  • your machine has a different Node.js version. Builds use Node.js 22.

Killed, or JavaScript heap out of memory. The build ran out of memory. Use a bigger build machine.

The build hit the time limit. Your plan sets one per build; see Build environment. A bigger machine helps CPU-bound builds.

Bundling a backend fails

No Worker entry found. Hiraiship found no entry file to bundle. It looks for index.js in the output directory, the main of a wrangler config, then src/index.ts, src/index.js, index.ts and index.js. See Hono.

… has no default export. The entry must default-export the app (Hono) or a fetch handler (Futon). A Node.js server started with serve() or listen() doesn't run on Workers. See Hono and Futon.

Bundling … failed. esbuild couldn't resolve an import: a missing dependency, or a path that only exists after a build step you skipped.

The build is refused before it starts

The CLI prints the reason, which names the limit:

ReasonWhat to do
The build queue is fullWait for queued builds to start, or cancel some. See Build queue.
Build minutes, or deployments per day, used up (Free)Wait for the next day or month, or change plans. See Limits.
Spend limit reached (paid plans)Raise the spend limit.
Live environments used up (Free)Let an unused site pause, or change plans.
Build machine not allowedPick one of the machines the CLI lists. See Build machines.
Your role can't deployAsk an owner or admin to make you a developer.

Built, but publishing failed

The build succeeded, but putting it live didn't. The deployment shows Publish failed with the reason, and your previous deployment keeps serving traffic. Deploy again; if it fails the same way, contact support with the deployment's ID.