Cloudflare PagesでNode.jsのバージョンを指定する

2021.04.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

先日リリースされたJamstackホスティング サービスCloudflare Pagesですが、実行されるNode.jsのバージョンを変更したいケースがありました。

Cloudflare PagesのビルドではNode.jsのほか様々な言語が利用できますが、Go、PHP、Python、Rubyは任意のバージョンに変更できるので、その方法を書いておきます。

デフォルトで使われる Node.js のバージョンについて、ガイドページ)を見ると 10 を使っているようです。

※ただ実際にサンプルアプリを動かしてビルドログをみてみると、v12.18.0が使われているような...?ここはランタイムによって変わるのかもしれません。

09:24:19.846	Now using node v12.18.0 (npm v6.14.4)

Node.jsのバージョン変更

以下いずれかの方法で、Node.jsのバージョンを変更することが可能です。

1. Cloudflare Pagesの環境変数に登録

Cloudflare Pagesの環境変数から、NODE_VERSIONという環境変数名を使うことで任意のNode.jsのバージョンが指定可能です。

2. ローカルファイルに環境変数を指定

ルートディレクトリに.nvmrc もしくは .node-version のファイルを作成し、任意のNode.jsのバージョンを記述してプッシュすると、その設定をベースにビルドしてくれます。

15.10.0

サンプルアプリをビルドしてみる

実行結果のビルドログを確認

14:29:50.629	Attempting node version '15.10.0' from .node-version

無事バージョンが切り替わりました。

さいごに

言語以外にも、NPM、pip、Yarn、Hugoなどもプリインストールされており、これらもバージョン変更が可能ですので、お手持ちの環境に合わせて細かくカスタマイズが可能です。

ちなみにpackage.jsonで指定されたライブラリやフレームワークのバージョンも優先されます。

クラスメソッドはCloudflareのパートナーとして、Cloudflare利用のお手伝いが可能です。お問い合わせはこちらから。

参考URL

https://developers.cloudflare.com/pages/platform/build-configuration