前提
Azure App Serviceにnodejsアプリをデプロイしようとしています。
実現したいこと
Azure App Serviceにnode 18系のLTS(18.12.0)で動くアプリをデプロイしたいです。
発生している問題・エラーメッセージ
- Azure App Service on Linuxで試しています
- linuxfxversionにはNODE|18-ltsを指定しています。にも関わらずApp Service側はnode 18.2.0で実行しようとしてきます(18.2.0はLTSではないのに)。
- アプリ側ではpackage.jsonにて18.12.0以上を要求しているため、非互換エラーが発生します。
試したこと
- node 16系でも同様に試しましたが、16-ltsを指定したら16.14.2で実行しようとしてきました(これもLTSではない)
試していないこと
- Azure App Service on Windowsではまだ試していません(試す前に「App Serviceをcreateし過ぎ、48hロックします」と言われてしまった)
LTSのバージョンって時間が経つと変わるものなのですね...
https://azure.microsoft.com/en-us/updates/public-preview-nodejs-16-in-azure-functions/
https://nodejs.org/en/blog/release/v16.16.0/
Azure App Serviceが当時のLTS以降のバージョンをサポートしていないということですかね?
でも18.2.0はLTSだったことないんだけどなぁ...
https://nodejs.org/ja/download/releases/
うーん、App Service on Windows は Node v18.3.0 でした...
なぜLTSじゃないバージョンをLTSと宣っているのかよくわからないのでとりあえずサポートリクエスト出してみますw
私は Node.js 全く詳しくないのですが、 v18 の changelog を見ました。
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.11.0
v18 登場当初は Current で、2022年10月に LTS になる予定というアナウンスがされています。
そして登場したのが v18.12.0 なので、厳密には v18.12.0 と v18.12.1 が LTS なのかな?という解釈をしましたが、Node.js プロの方の見解を聞きたいところです。
App Service でアップデートする方法は試してみましたので回答として投稿しておきました。ご参考までに。
ちょっと方法として良くない気がするので、App Service 側がアップデートされるのを待ったほうが良いかなーと思っています。
回答1件