Skip to content

Cloudflare PagesでNode.JS Compatibility Errorが出たとき

Cloudflare PagesでNext.jsプロジェクトをデプロイする際に、Node.JS Compatibility Errorに遭遇して解決したので備忘録。

Image from Gyazo

エラーの内容

デプロイ後、以下のようなエラーメッセージが表示されることがあります:

このエラーは、Cloudflare PagesプロジェクトでNode.jsの組み込みモジュールにアクセスできないことを示しています。

解決方法

Cloudflareダッシュボードから設定する方法

  1. Cloudflareダッシュボードにログインします。
  2. 「Workers & Pages」を選択し、該当するPagesプロジェクトを開きます。
  3. 「Settings」→「Functions」→「Compatibility Flags」と進みます。
  4. 「nodejs_compat」フラグを追加します。

注意: フラグは nodejs_compat とだけ入力します。引用符やその他の文字は不要です。

wrangler.tomlファイルで設定する方法

プロジェクトのルートディレクトリにある wrangler.toml ファイルに以下の行を追加します:

compatibility_flags = [ "nodejs_compat" ]

重要な注意点

  • Compatibility Flagsを設定した後は、変更を反映させるために再デプロイが必要です。
  • 設定方法によっては、ダッシュボードの「Functions」オプションが見つからない場合があります。その場合は wrangler.toml ファイルでの設定をお試しください。

まとめ

Cloudflare PagesでNode.js Compatibility Errorが発生した場合、nodejs_compat フラグを設定することで解決できます。ダッシュボードまたは wrangler.toml ファイルでこの設定を行い、再デプロイすることでエラーを解消できるはずです。

参考リンク

このエラーに遭遇した際は、ぜひこの方法をお試しください。デプロイの成功をお祈りしています!