仕事でAWS CDK (Cloud Development Kit)を、v1からv2にバージョンアップする業務をやっています。 単にNode.jsを最新に更新すればいいという話ではなさそうだったので、メモします。
AWS CDKが推奨するNode.jsバージョンについて
最初は何も考えずに、現時点で最新(v20)のNode.jsをインストールしてみました。 その時の警告を手元で再現させてみたのですが、合わないバージョンを使うと警告が表示されます。
$ docker run --rm -it node:latest /bin/bash root@ff1319f366e6:/# npm install -g aws-cdk added 1 package in 2s npm notice npm notice New patch version of npm available! 9.6.6 -> 9.6.7 npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.6.7 npm notice Run npm install -g npm@9.6.7 to update! npm notice root@ff1319f366e6:/# cdk --version !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !! !! This software has not been tested with node v20.2.0. !! !! Should you encounter odd runtime issues, please try using one of the supported release before filing a bug report. !! !! !! !! This software is currently running on node v20.2.0. !! !! As of the current release of this software, supported node releases are: !! !! - ^18.0.0 (Planned end-of-life: 2025-04-30) !! !! - ^16.3.0 (Planned end-of-life: 2023-09-11) !! !! - ^19.0.0 (Planned end-of-life: 2023-06-01) [DEPRECATED] !! !! !! !! This warning can be silenced by setting the JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION environment variable. !! !! !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2.80.0 (build bbdb16a) root@ff1319f366e6:/#
解決策
- JSII_SILENCE_WARNING_UNTESTED_NODE_VERSIONで、警告を隠すこともできるみたいです。
- 私は素直に内容に従って、Node.jsをv18系とすることにしました。
まとめ
- AWS CDKには、動作を推奨するNode.jsのバージョンが存在します。
- AWS CDKのバージョンを更新するときは、動作が推奨されるNode.jsのバージョンかどうか、確認すると良さそうです。