本記事について
以下手順に従い、TypeScriptでCDKを使用することを目指している。
その前提条件としてnpm install
コマンドでのCDKインストールが求められるが、なんかうまくいかない。
https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/work-with-cdk-typescript.html
CDKの環境構築でハマったこと
npm install
コマンド後にcdk
コマンドをたたくと以下のようなエラーメッセージが表示され、手順を進めることができない。
C:\Users\user\Desktop\cdk>npm install -g aws-cdk
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
changed 1 package, and audited 2 packages in 7s
found 0 vulnerabilities
C:\Users\user\Desktop\cdk>cdk --version
'cdk' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
対処
おそらく、npm install -g
コマンドによりnpmの領域内にcdkのコマンドが配置されるが、そこにパスが通っていない。
以下のコマンドで配置されているフォルダが多分見れる。
C:\Users\user\Desktop\_repos\cdk>npm list -g
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
C:\Users\user\AppData\Roaming\npm
└── aws-cdk@2.87.0
上記より、C:\Users\user\AppData\Roaming\npm
を環境変数Pathに追加する。
Windowsの[設定]アプリ -> 「システム」 -> 「システムの詳細設定」 -> 「詳細設定」タブ -> 「環境変数」ボタン -> 「ユーザー環境変数」の「編集」ボタン
-> 「新規」ボタン
結果
cdk
コマンドが使えるようになった。
C:\Users\user\Desktop\cdk>cdk --version
2.87.0 (build 9fca790)
考察
CDKの環境構築の問題というよりは、npmが正しく構成されていないという問題に見える。
直近でやったことといえば、Windowsユーザーを作り直したことが一番心当たりある。
ユーザーを変えてもnpmコマンドが使え、スタートメニューからもNode.jsが出てきたことから、Node.jsが普通に使えるとばかり思っていた。
Nodeをインストールした際にログインしていたWindowsユーザー以外でNodeを使うときはこのような事象に要注意、ということなのかも。