📑
Github Actions で Expected version >=18.17.0. Got 16.20.2 とか言われたときの対処法
内容
Azure とか Firebase とかで Github のレポジトリから deploy するときに、Github Actions で下記のような node のバージョン関連のエラーが出た時の対処法です。
The engine "node" is incompatible with this module. Expected version ">=18.17.0". Got "16.20.2"Node version 20.11.1 is not supported. Please use one of the following versions 12, 14, 16, 18.
原因
Github Actions で使う node のバージョンが適切でないことが原因です。
対策
まず package.json に下記を追加します。
package.json
"engines": {
"node": "^18.x"
},
次に .github 以下にある Workflow ファイル (ymlファイル) の中で直接 node のバージョンを指定します。具体的には Workflow ファイルの下記の位置(階層)に node-version: v18 とか書きます。ちなみに v18.0.0 などと細かくバージョン書いても、18 の最新バージョンが強制的に使われるようです。
Workflow ファイル名はデプロイ先によって違ってたりします。
jobs:
build_and_deploy_job:
steps:
with:
node-version: v18
ちなみに、2024年の春ころからは Githuc Actions で使用される node のバージョンは v20 がデフォルトになるらしいです(下記参照)
Discussion