Open2
[TIL] 13. AWS CDK

npx cdk
を使用する
原則として基本的にはnpx cdk
コマンドを使用して、node_modules 配下のローカルCDKを実行する。
GitHubにPushした package-lock.json に準拠する形でCDKバイナリをインストールできるため、チーム全員が同一バージョンを使用するように制御することが可能。
npx cdk | cdk | |
---|---|---|
実行されるバイナリ |
./node_modules/.bin/cdk (ローカル) |
/usr/local/bin/cdk (グローバル) |
バージョン管理 | プロジェクトのpackage.json に準拠 |
グローバルCDKのバージョン |
再現性 | チーム全員が同一バージョンを強制可能 | 環境ごとにバージョン不一致のリスク |

-
./node_modules/.bin/cdk
はエントリーポイント:
ユーザーがnpx cdk
を実行すると、このスクリプトが最初に呼び出される。
./node_modules/aws-cdk/bin/cdk
のシンボリックリンクであり、処理としては単にcdk.js
を読み込むだけである。 -
./node_modules/aws-cdk/bin/cdk.js
が実際の処理を担当:
cdk.js
が CDK CLI のコアロジックであるcdk deploy
やcdk synth
などの処理を実行。
ディレクトリ構成
├─ node_modules
│ ├─ .bin
│ │ └─ cdk
│ │
│ └─ aws-cdk
│ └─ bin
│ ├─ cdk
│ └─ cdk.js
./node_modules/.bin/cdk
#!/usr/bin/env node
require('./cdk.js');
作成者以外のコメントは許可されていません