「npm uninstall all」みたいなコマンドが無かったのでスクリプトを書いた話

公開日:2021-02-09 更新日:2021-02-09

Mac Nodejs Shell script

t f B! P L

参考:npm list でのエラー

「npm list」をした時に、「npm ERR! extraneous: …」のようなエラーが多発するが、
多すぎて「package.json」を書き直すのも面倒なので、
「いっそのこと全部アンインストールしよう」と思ったが、
「npm uninstall all」みたいなコマンドが無かったのでスクリプトを書いた話

スクリプトは以下
「npm ls –depth=0」で出てきたパッケージリストを成形して、
「npm rm」コマンドに渡して削除している

 
#!/bin/zsh
npm ls --depth=0 > npmlist.txt
sed -i -e '1d' npmlist.txt
sed -i e 's/^....//g' npmlist.txt
sed -i -e 's/\^//g' npmlist.txt
sed -i -e 's/UNMET PEER DEPENDENCY //g' npmlist.txt
sed -i -e 's/>//g' npmlist.txt
sed -i -e 's/=//g' npmlist.txt
sed -i -e 's/@[0-9].*//g' npmlist.txt
nlist=$(sed -e :loop -e 'N; $!b loop' -e 's/\n/ /g' npmlist.txt)
npm rm ${nlist}

※「npm ls」で出てきた結果をいっぺんに消せなかったので、「-depth=0」を追加しています
※ほとんど網羅していると思いますが、一部消えないパッケージがあったらごめんなさい、手動で削除してください

「npmlist.sh」というファイル名で作成したとすると、実行は以下コマンドで。
何回か回すと全部削除できる

sh npmlist.sh

これで全部無くなった、スッキリ

% npm list
/Users/yoshi
└── (empty)

スクリプトを回す過程でできた余計なファイルは手動で削除ください
(自動削除にすると怖いので)

rm npmlist.txt*

以上。

About me

ゆかき(♀)

アラサー駆け出しインフラエンジニア
ど文系営業からSEへ転身し日々奮闘している人

一児の母

#AP応用情報 #HTML5Lv1 #第2種電気工事士 #DCP(Data Center Practitioner) #LPIC Lv2 #VCP6.5 #CCNP #Oracle Bronze #HSKLv5 #TOEIC860

Media

こちらのイベントで記事紹介いただいていた、嬉しい。

Line stamp

僭越ながら販売中

Green cat & Orange cat

Amazon