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
.envfile, 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:
| Reason | What to do |
|---|---|
| The build queue is full | Wait 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 allowed | Pick one of the machines the CLI lists. See Build machines. |
| Your role can't deploy | Ask 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.