スポンサーリンク
最近、Cloud Functionsの管理画面に不吉なアラートが出るようになりました。
「現在、Node.js16使ってるけど、2025/1/30で動かなくなるよ」という事だそうです。
ローカルのNode.jsのバージョン見るとv20.4.0って出るけど、どうやってCloud Functionsのバージョンを変えればいいのか…
と悩んでいるあなたにバージョンアップの方法を解説します。
現在のNode.jsバージョンの確認方法
ちなみに、現在のCloud Functions上のNode.jsのバージョンは
https://console.cloud.google.com/functions
で確認できます。
全員にNode.js 16は廃止するよってアラート出してるのかと思ったら、やっぱり僕に言ってた!
Node.jsのバージョンアップ方法
Cloud Functions上のNode.jsのバージョンは、ローカルのfunctionsファイルの設置フォルダ内の、functions/package.jsonに指定します。
ココ!!って書いている所。見事に16を指定していました。
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "16" // ココ!!!!
},
"main": "index.js",
"dependencies": {
"firebase-admin": "^11.5.0",
"firebase-functions": "^4.2.0"
},
"devDependencies": {
"firebase-functions-test": "^3.0.0"
},
"private": true
}
公式資料によるNode.jsの各パージョンの期限はこんな感じ。
ver22にしておけば2028年末ぐらいまでは生き残れそうなので、22をしてみたところ、16にしろ!とエラーが出て混乱….。
Error: package.json in functions directory has an engines field which is unsupported. Valid choices are: {"node": 10|12|14|16}
18を指定してみたらできたので、ひとまずヨシとします。
無事18になりました。
スポンサーリンク