AWS CDKのバージョンアップ方法を記します。
また、Cloud9でCDKをバージョンアップする際の注意点についても記述します。
はじめに
CDKは非常に活発に開発されています。
CDKのリリースを見るに、だいたい一週間ぐらいの間隔で新バージョンがリリースされているようです(下図)。
CDK バージョン | リリース日 |
---|---|
v1.35.0 | 2020-04-23 |
v1.34.0 | 2020-04-21 |
v1.33.0 | 2020-04-17 |
v1.32.0 | 2020-04-10 |
v1.31.0 | 2020-03-24 |
v1.30.0 | 2020-03-18 |
CDKをアップデートするとき、特にCloud9で作業する場合に、少し躓くポイントがありました。
今回は、それらCDKアップデート方法をメモします。
作業環境
Ubuntu上で動作確認を行いました。
$ lsb_release -d Description: Ubuntu 18.04.4 LTS
CDK をアップデートする
一般的なCDKアップデート方法
npm install -g aws-cdk
としてしてインストールされた一般的なケース*1では、CDKのアップデート方法は単純です。
普通にnpmパッケージをアップデートするように、npm update
コマンドでCDKパッケージaws-cdk
がアップデートできます。
sudo npm update -g aws-cdk
CDKバージョンを確認すると、現時点での最新バージョン(v1.35.0)にアップデートされていることが確認できます。
$ cdk --version 1.32.2 (build e19e206) $ sudo npm update -g aws-cdk $ cdk --version 1.35.0 (build e0810c8)
Cloud9でのCDKアップデート方法
Cloud9の場合、少し注意が必要です。
結論から言うと、CDKパッケージとしてaws-cdk
ではなくcdk
を指定することでCDKのアップデートができます。
npm update -g cdk
どういうことかというと、Cloud9でプリインストールされているのはaws-cdk
パッケージ*2ではなくcdk
パッケージ*3である、ということのようです。
普通にnpm install -g aws-cdk
でCDKをインストールした場合、次のようにaws-cdk
パッケージはあってもcdk
パッケージはありません。
$ npm ls -g aws-cdk /home/ubuntu/.nvm/versions/node/v10.20.1/lib └── aws-cdk@1.35.0 $ npm ls -g cdk /home/ubuntu/.nvm/versions/node/v10.20.1/lib └── (empty)
一方、Cloud9でaws-cdk
パッケージとcdk
パッケージを調べると、次のようになります。
$ npm ls -g cdk /home/ubuntu/.nvm/versions/node/v10.20.1/lib └── cdk@1.35.0 $ npm ls -g aws-cdk /home/ubuntu/.nvm/versions/node/v10.20.1/lib └─┬ cdk@1.35.0 └── aws-cdk@1.35.0
つまり、Cloud9でプリインストールされているのはcdk
パッケージであり、aws-cdk
はその一部に過ぎない、ということのようです。
よって、
npm update -g aws-cdk
は上手くいかず、
npm update -g cdk
なら上手くいく、という訳です。
おわりに
今回は、CDKのアップデート方法を記しました。
Cloud9では何故かアップデートできない、というところが始まりでしたが、aws-cdk
ではなくcdk
パッケージがインストールされていた、というのはなかなか面白い不思議ポイントでした。
なぜcdk
パッケージの方がプリインストールされているのか、aws-cdk
パッケージとcdk
パッケージの違いは何なのか、など色々と気になるところがあります。
折を見て調べていきたいです。
[関連記事]
参考
Releases · aws/aws-cdk · GitHub
Troubleshooting common AWS CDK issues - AWS Cloud Development Kit (AWS CDK) v2
*1:ドキュメントでは、このインストール方法が推奨されています。