aws-cdkをupdateしようとするとversionが上がらず、なぜかnpmが消える

現象

aws-cdkのバージョンを1.71.0から1.93.0に上げようとコマンドを入力しても何も起こりませんでした

しかもなぜかnpmが消えるという現象に・・

~ $ cdk --version
1.71.0 (build 953bc25)
~ $ npm update -g aws-cdk

removed 253 packages, and audited 1 package in 1s

found 0 vulnerabilities

~ $ which npm
~ $

npmを再インストール

reinstallコマンド入力するとnpmが復活します

~ $ brew reinstall node

原因

どうやらyarnのグローバルに入っていたのが原因?っぽいです

~ $ ls -l `which cdk`
lrwxr-xr-x  1 user-name  admin  64 11  1 14:40 /usr/local/bin/cdk -> ../../../Users/user-name/.config/yarn/global/node_modules/.bin/cdk

解決策

まずは yarnをグローバル環境から削除して

~ $ yarn global remove aws-cdk
yarn global v1.22.10
warning package.json: No license field
[1/2] 🗑  Removing module aws-cdk...
[2/2] 🔨  Regenerating lockfile and installing missing dependencies...
success Uninstalled packages.
✨  Done in 2.42s.

再度cdkをインストール

~ $ npm i -g aws-cdk

added 193 packages, and audited 194 packages in 14s

found 0 vulnerabilities

最後に確認

~ $ ls -l `which cdk`
lrwxr-xr-x  1 user-name  admin  35  3 15 00:06 /usr/local/bin/cdk -> ../lib/node_modules/aws-cdk/bin/cdk

これで直りました