AgentSkillsCN

Bun Deploy a Bun application on Vercel

在Vercel上部署Bun应用。

SKILL.md
--- frontmatter
name: Bun Deploy a Bun application on Vercel
description: Deploy a Bun application on Vercel

Deploy a Bun application on Vercel

Vercel is a cloud platform that lets you build, deploy, and scale your apps.

<Warning> The Bun runtime is in Beta; certain features (e.g., automatic source maps, byte-code caching, metrics on `node:http/https`) are not yet supported. </Warning> <Note> `Bun.serve` is currently not supported on Vercel Functions. Use Bun with frameworks supported by Vercel, like Next.js, Express, Hono, or Nitro. </Note>
<Steps> <Step title="Configure Bun in vercel.json"> To enable the Bun runtime for your Functions, add a `bunVersion` field in your `vercel.json` file:
code
```json vercel.json icon="file-json" theme={"theme":{"light":"github-light","dark":"dracula"}}
{
	"bunVersion": "1.x" // [!code ++]
}
```

Vercel automatically detects this configuration and runs your application on Bun. The value has to be `"1.x"`, Vercel handles the minor version internally.

For best results, match your local Bun version with the version used by Vercel.
</Step> <Step title="Next.js configuration"> If you’re deploying a **Next.js** project (including ISR), update your `package.json` scripts to use the Bun runtime:
code
```json package.json icon="file-json" theme={"theme":{"light":"github-light","dark":"dracula"}}
{
	"scripts": {
		"dev": "bun --bun next dev", // [!code ++]
		"build": "bun --bun next build" // [!code ++]
	}
}
```

<Note>
  The `--bun` flag runs the Next.js CLI under Bun. Bundling (via Turbopack or Webpack) remains unchanged, but all commands execute within the Bun runtime.
</Note>

This ensures both local development and builds use Bun.
</Step> <Step title="Deploy your app"> Connect your repository to Vercel, or deploy from the CLI:
code
```bash terminal icon="terminal" theme={"theme":{"light":"github-light","dark":"dracula"}}
# Using bunx (no global install)
bunx vercel login
bunx vercel deploy
```

Or install the Vercel CLI globally:

```bash terminal icon="terminal" theme={"theme":{"light":"github-light","dark":"dracula"}}
bun i -g vercel
vercel login
vercel deploy
```

[Learn more in the Vercel Deploy CLI documentation →](https://vercel.com/docs/cli/deploy)
</Step> <Step title="Verify the runtime"> To confirm your deployment uses Bun, log the Bun version:
code
```ts index.ts icon="https://mintcdn.com/bun-1dd33a4e/nIz6GtMH5K-dfXeV/icons/typescript.svg?fit=max&auto=format&n=nIz6GtMH5K-dfXeV&q=85&s=5d73d76daf7eb7b158469d8c30d349b0" theme={"theme":{"light":"github-light","dark":"dracula"}}
console.log("runtime", process.versions.bun);
```

```txt  theme={"theme":{"light":"github-light","dark":"dracula"}}
runtime 1.3.3
```

[See the Vercel Bun Runtime documentation for feature support →](https://vercel.com/docs/functions/runtimes/bun#feature-support)
</Step> </Steps>
  • Fluid compute: Both Bun and Node.js runtimes run on Fluid compute and support the same core Vercel Functions features.
  • Middleware: To run Routing Middleware with Bun, set the runtime to nodejs:
ts
export const config = { runtime: "nodejs" }; // [!code ++]