基本上我在尋找npm prune
或this SO問題的「相反」。如何從package.json中列出的node_modules中刪除所有軟件包
更具體地說:
我期待從在我的根package.json
文件中列出的所有軟件包清理node_modules
文件夾。在npm install
之前重新開始排序。
我不喜歡的原因不是想簡單rm -rf node_modules/
是因爲我有一些本地模塊,我不想被刪除。
基本上我在尋找npm prune
或this SO問題的「相反」。如何從package.json中列出的node_modules中刪除所有軟件包
更具體地說:
我期待從在我的根package.json
文件中列出的所有軟件包清理node_modules
文件夾。在npm install
之前重新開始排序。
我不喜歡的原因不是想簡單rm -rf node_modules/
是因爲我有一些本地模塊,我不想被刪除。
不可能立即刪除package.json中的所有文件,你可以編寫shell腳本循環。或者您可以檢查npm ls
,然後刪除npm rm <name>
或npm手動卸載。
-node_modules (local)
-my_project
|-node_modules (npm)
這樣,當你擦拭node_modules:和中的package.json同時npm rm <name> --save
一個更好的辦法是讓你的永久(本地)模塊更高級別的目錄更新目錄,外部本地模塊仍然存在。
正如其他人所指出的那樣,沒有本地的npm命令來做到這一點。
我已經採取this answer和修改命令:
$ npm ls | grep -v '[email protected]' | awk '/@/ {print $2}' | awk [email protected] '{print $1}' | xargs npm rm
此列出所有本地包,然後npm rm
逐一。
爲了方便,如果你願意,你可以將下面的行添加到您的package.json
:
"scripts": {
"uninstall": "npm ls | grep -v '[email protected]' | awk '/@/ {print $2}' | awk [email protected] '{print $1}' | xargs npm rm"
}
,然後運行
$ npm run uninstall
你可能並不需要'--save'如果你只是想重新安裝之前清理 – Michael
是的,這是正確的,但如果你只是想刪除幾個,所以我提到:) –