当サイトは、アフィリエイト広告を利用しています
先日、ReactのGatsby製ブログのパフォーマンス改善のために「gatsby-plugin-preact」を
導入した際にnode.jsのversionをあげた後、Netlifyにデプロイをかけると
下記のようなエラーが発生した
~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を指定するにはプロジェクトのルートに
を作ればそのversionを使ってくれる。
プロジェクトルートで下記コマンドを
実行すればプロジェクトルートに.nvmrcファイルを作成してくれる。
node -v > .nvmrc
ちなみに.nvmrcファイルの中身は下記のようになっている
v18.9.0
ただversionが書いてあるのみ
nvmを使っている場合は現在のcurrentのnodeのversionで作成してくれる。
試しにやってみる
$ nvm currentv16.16.0
v16.16.0になっている。
node -v > .nvmrc
プロジェクトルートに.nvmrcが作成され、中身を確認すると
v16.16.0
currentのversionになっている。
version変更コマンドを実行
$ nvm use v18.9.0Now using node v18.9.0 (npm v8.19.1)
versionを切り替える
node -v > .nvmrc
プロジェクトルートに.nvmrcが作成され、中身を確認すると
v18.9.0
変更したversionになっている。
いちいち.nvmrcを削除しなくてもnvmでversionを切り替えて
.nvmrcファイル作成コマンドを実行すると
nvmrcを更新してくれる。
nvmの導入と使い方については下記で紹介しています
nodeのversion管理には必須です。
またGatsbyでnvmのnodeのversionが変わらない場合、対処方法を下記にまとめました。