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 deployVercel Deploy CLI ドキュメントで詳細を見る →
ランタイムを確認する
デプロイが Bun を使用していることを確認するには、Bun のバージョンをログ出力します。
ts
console.log("runtime", process.versions.bun);txt
runtime 1.3.3Vercel Bun ランタイムドキュメントで機能サポートを確認 →
- Fluid compute: Bun と Node.js ランタイムの両方は Fluid compute で実行され、同じコア Vercel Functions 機能をサポートしています。
- Middleware: Bun で Routing Middleware を実行するには、ランタイムを
nodejsに設定します。
ts
export const config = { runtime: "nodejs" };