Cloudflare PagesでNode.JS Compatibility Errorが出たとき
Cloudflare PagesでNext.jsプロジェクトをデプロイする際に、Node.JS Compatibility Errorに遭遇して解決したので備忘録。
エラーの内容
デプロイ後、以下のようなエラーメッセージが表示されることがあります:
このエラーは、Cloudflare PagesプロジェクトでNode.jsの組み込みモジュールにアクセスできないことを示しています。
解決方法
Cloudflareダッシュボードから設定する方法
- Cloudflareダッシュボードにログインします。
- 「Workers & Pages」を選択し、該当するPagesプロジェクトを開きます。
- 「Settings」→「Functions」→「Compatibility Flags」と進みます。
- 「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
ファイルでこの設定を行い、再デプロイすることでエラーを解消できるはずです。
参考リンク
- Cloudflare Developers - Compatibility Flags
- Stack Overflow - Cloudflare Pages Node.JS Compatibility Error
このエラーに遭遇した際は、ぜひこの方法をお試しください。デプロイの成功をお祈りしています!