🚀
Next.js を Cloudflare Pages にデプロイする
はじめに
Next.jsのデプロイ先にVercelを基本使ってきましたが、商用利用のサイトをデプロイする機会があり、無料で使えるCloudflare Pagesを使ってみました。
ドメインもCloudflareにて取得できて、完結できる感じがよかったです。
手順
準備
- Cloudflareにアカウント登録しておく
Next.js のプロジェクトを作成
Next.jsのプロジェクトを作成する。
npx create-next-app@latest
GitHubリポジトリにPushする。
@cloudflare/next-on-pages インストール
@cloudflare/next-on-pages をインストールする。
npm install -D @cloudflare/next-on-pages
Cloudflare Pagesにプロジェクト作成
Cloudflareの Workers&Pages で 作成 を押す。

アプリケーションを作成する の Pages タブで Gitに接続 を押す

該当のリポジトリを選択し セットアップの開始 を押す。
以下を設定
- フレームワークプリセット:
Next.js - ビルドコマンド:
npx @cloudflare/next-on-pages@1(デフォルトのはず) - ビルド出力ディレクトリ:
.vercel/output/static(デフォルトのはず) - 環境変数 変数名:
NODE_VERSION=22
一度デプロイする。
エラーの解消
デプロイするとエラーになると思うので、
設定タブ > ランタイム の 互換性フラグ に nodejs_compat を設定する。
また、自分の場合は以下のエラーも出た。
sh: 1: vc: not found
以下インストールしてPushしたら解消した。
npm install -D vercel
カスタムドメインの設定
Cloudflareの ドメイン登録 > ドメインの登録 にてお好みのドメインを購入する。
Cloudflare Pagesの対象プロジェクトの カスタムドメイン タブで カスタムドメインを設定 を押す。
フォームに購入したドメインを入力して続行すれば、検証が始まり少し待つとドメインが設定される。
完了したら実際にアクセスしてみて表示されればOK!
さいごに
以前個人開発でHonoをCloudflare workersにデプロイしたりしたことはあったが、今回はCloudflare PagesにNext.jsをデプロイしてみた。
GitHub連携で自動デプロイされるし、ドメインもCloudflareで取れてとても手軽だった。
Discussion