はじめに
この記事で記載するバージョンは執筆当時のものです。参考にする場合は参照を辿って差分を吸収してください。
Cloudflare Pagesではデフォルトでバージョン12.18.10のNode.jsを利用してビルドコマンドの実行を行います(参照)。
最近のフレームワークやビルドツールではこのバージョンで動かすことが出来ないことが多いです。例えばAstroはバージョン16.13.0以上が必要ですし、Viteでもバージョン14.18、16以上が必要となっています(参照1、参照2)。
この記事ではそんなツールも動かせるようにするためにCloudflare Pagesのビルド時に使用するNode.jsのバージョンを上げる方法を紹介します。
指定可能なNode.jsのバージョン
Cloudflare Pages内で動かせるNodeのバージョンは17.Xまでです(参照)。Node.jsのLTSは18系ですのでLTSにできないのは心許ないです。
今回はその中でも唯一メンテナンスモードが続いている16系の最新16.19.0にあげることを目指します(参照)。
Cloudflare Pages内の環境変数から設定する
Cloudflare PagesのWeb UIから設定する環境変数で実行時のNode.jsのバージョンを指定することが出来ます。
設定後再ビルドすることで反映されます。下の画像はビルド時のログですが、Nodeバージョンが16.19.0に変わっていることが確認できます。
アプリケーションのファイルで指定する
package.json
と同じ階層で.nvmrc
、.node-version
にバージョンを指定しておくと自動的に切り替わってくれます。
v16.19.0
v16.19.0
nvmやnodeenvなどでNode.jsのバージョン管理を行なっている場合はローカルもビルド時の環境も同時に指定できるのでお得で安全です。