Netlifyのデプロイ時にインストールされるNode.jsのバージョンを指定する
Gatsbyで作った当ブログを久しぶりに更新した際にNetlifyのビルドが失敗する現象が発生しました。
失敗の原因
Netlifyの失敗したデプロイのログを見ると以下のようなメッセージが。
error gatsby@2.20.10: The engine "node" is incompatible with this module. Expected version ">=10.13.0".Gastbyをビルドする際にNetlifyにNode.jsがインストールされるのですが、それがどうも古いバージョンのようで「使用しているNode.jsでは互換性がありません」とエラーが出ているようでした。10.13.0以上が必要とのこと。
確かにさらにログを見てみると下記のように現状は古いものが使用されていました。
Now using node v8.17.0 (npm v6.13.4)したがって新しいバージョンのNode.jsをインストールするよう指定します。
手順
手順は簡単で.nvmrcを追加するだけ。
プロジェクトルートで下記のコマンドをたたけば、使用しているNode.jsのバージョンが記述された.nvmrcが生成されます。
node -v > .nvmrc.nvmrcの中身を見てみると以下のようになっていると思います。
v12.16.1これでNetlifyに指定したバージョンのNode.jsがインストールされます。