当サイトは、アフィリエイト広告を利用しています

netlifyデプロイ時にnodeのversionを指定する

作成日:2023月01月14日
更新日:2024年08月03日

先日、ReactのGatsby製ブログのパフォーマンス改善のために「gatsby-plugin-preact」を
導入した際にnode.jsのversionをあげた後、Netlifyにデプロイをかけると
下記のようなエラーが発生した

log
~
2:40:29 AM: error gatsby-plugin-preact@7.3.0: The engine "node" is incompatible with this module. Expected version ">=18.0.0". Got "16.19.0"
~

デプロイする時の使用されるnodeのversionが"16.19.0"になっており
gatsby-plugin-preactでは18.0.0以上でないといけないというエラーが発生した。

調べるとNetlifyでverison指定ができるようなので忘備録として残しておく。

Netlifyでnodeのversionを指定する方法

Netlifyでnodeのversionを指定するにはプロジェクトのルートに

  • .nvmrcファイル

を作ればそのversionを使ってくれる。

.nvmrcファイルを作成する

プロジェクトルートで下記コマンドを
実行すればプロジェクトルートに.nvmrcファイルを作成してくれる。

node
node -v > .nvmrc

ちなみに.nvmrcファイルの中身は下記のようになっている

.nvmrc
v18.9.0

ただversionが書いてあるのみ

nvmを使っている場合

nvmを使っている場合は現在のcurrentのnodeのversionで作成してくれる。
試しにやってみる

nvmで現在しようしているnodeのversionを確認する

nvm
$ nvm current
v16.16.0

v16.16.0になっている。

.nvmrcファイル作成コマンドを実行する

node
node -v > .nvmrc

プロジェクトルートに.nvmrcが作成され、中身を確認すると

.nvmrc
v16.16.0

currentのversionになっている。

nvmでnodeのversionを変更する

version変更コマンドを実行

nvm
$ nvm use v18.9.0
Now using node v18.9.0 (npm v8.19.1)

versionを切り替える

再度.nvmrcファイル作成コマンドを実行する

node
node -v > .nvmrc

プロジェクトルートに.nvmrcが作成され、中身を確認すると

.nvmrc
v18.9.0

変更したversionになっている。
いちいち.nvmrcを削除しなくてもnvmでversionを切り替えて
.nvmrcファイル作成コマンドを実行すると
nvmrcを更新してくれる。

nvmの導入と使い方については下記で紹介しています
nodeのversion管理には必須です。

またGatsbyでnvmのnodeのversionが変わらない場合、対処方法を下記にまとめました。

参考

新着記事

タグ別一覧
top