Zenn
Open2

[TIL] 13. AWS CDK

wakakawakaka

原則として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のバージョン
再現性 チーム全員が同一バージョンを強制可能 環境ごとにバージョン不一致のリスク

https://mazyu36.hatenablog.com/entry/2023/01/10/190314
https://dev.classmethod.jp/articles/node-npm-npx-getting-started/

wakakawakaka
  • ./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 deploycdk synth などの処理を実行。
ディレクトリ構成
├─ node_modules
│  ├─ .bin
│  │  └─ cdk
│  │ 
│  └─ aws-cdk
│     └─ bin
│        ├─ cdk
│        └─ cdk.js
./node_modules/.bin/cdk
#!/usr/bin/env node
require('./cdk.js');
作成者以外のコメントは許可されていません