Skip to content

Vercel は、アプリを構築、デプロイ、スケーリングできるクラウドプラットフォームです。

NOTE

`Bun.serve` は現在 Vercel Functions でサポートされていません。Next.js、Express、Hono、Nitro など、Vercel でサポートされているフレームワークで Bun を使用してください。

vercel.json で Bun を設定する

Functions で Bun ランタイムを有効にするには、vercel.json ファイルに bunVersion フィールドを追加します。

json
{
	"bunVersion": "1.x"
}

Vercel はこの設定を自動的に検出し、アプリケーションを Bun で実行します。値は "1.x" である必要があり、Vercel が内部的にマイナーバージョンを処理します。

最良の結果を得るには、ローカルの Bun バージョンを Vercel で使用されるバージョンに合わせます。

Next.js 設定

Next.js プロジェクト(ISR を含む)をデプロイする場合は、package.json スクリプトを更新して Bun ランタイムを使用します。

json
{
	"scripts": {
		"dev": "bun --bun next dev", 
		"build": "bun --bun next build"
	}
}

NOTE

`--bun` フラグは Bun の下で Next.js CLI を実行します。バンドリング(Turbopack または Webpack を介して)は変更されませんが、すべてのコマンドは Bun ランタイム内で実行されます。

これにより、ローカル開発とビルドの両方で Bun が使用されます。

アプリをデプロイする

リポジトリを Vercel に接続するか、CLI からデプロイします。

bash
# bunx を使用(グローバルインストール不要)
bunx vercel login
bunx vercel deploy

または、Vercel CLI をグローバルにインストールします。

bash
bun i -g vercel
vercel login
vercel deploy

Vercel Deploy CLI ドキュメントで詳細を見る →

ランタイムを確認する

デプロイが Bun を使用していることを確認するには、Bun のバージョンをログ出力します。

ts
console.log("runtime", process.versions.bun);
txt
runtime 1.3.3

Vercel Bun ランタイムドキュメントで機能サポートを確認 →


  • Fluid compute: Bun と Node.js ランタイムの両方は Fluid compute で実行され、同じコア Vercel Functions 機能をサポートしています。
  • Middleware: Bun で Routing Middleware を実行するには、ランタイムを nodejs に設定します。
ts
export const config = { runtime: "nodejs" }; 

Bun by www.bunjs.com.cn 編集