このすみノート

Webエンジニアが技術や趣味を書くブログです。

AWS CDK v2は、現時点でnodeのv16 ,18, 19が推奨されている

仕事で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のバージョンかどうか、確認すると良さそうです。