Skip to content

Node

2 posts with the tag “Node”

Cloudflare PagesでNode.jsのバージョンを変更したいとき

Cloudflare Pagesのビルド時にNode.jsのデフォルトバージョンが古くてエラーになることがありました。

Node.jsのバージョンを変更できたので、その方法を備忘録として残します。

デフォルトのNode.jsバージョン

Cloudflare Pagesのガイドによると、デフォルトでNode.js 10が使用されるとされています。ただし、実際のビルドログを確認すると、v12.18.0が使用されているケースもあるようです。これはプロジェクトの設定やランタイムによって異なる可能性があります。

Node.jsバージョンの変更方法

Node.jsのバージョンを変更するには、以下の2つの方法があります。

  1. Cloudflare Pagesの環境変数を使用
  2. ローカルファイルで環境変数を指定

どちらの方法でも、使用したいNode.jsのバージョンを指定することができます。

Cloudflare Pagesの環境変数を使用

  1. Cloudflareダッシュボードにログインします。
  2. 「Workers & Pages」を選択し、該当するPagesプロジェクトを開きます。
  3. 「設定」→「変数とシークレット」と進み、NODE_VERSIONという名前の変数を追加します。
  4. 値に希望するNode.jsのバージョン(例:20.9.0)を入力します。

Image from Gyazo

ローカルファイルで環境変数を指定

プロジェクトのルートディレクトリに.nvmrcまたは.node-versionファイルを作成し、使用したいNode.jsのバージョンを記述します。

.nvmrc または .node-version
20.9.0

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 ファイルでこの設定を行い、再デプロイすることでエラーを解消できるはずです。

参考リンク

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