📑
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