3 回答

TA貢獻1757條經(jīng)驗 獲得超7個贊
以下命令刪除所有全局npm模塊。注意:這在Windows上不起作用。有關(guān)可用的Windows版本,請參見Ollie Bennett的答案。
npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
下面是它的工作原理:
npm ls -gp --depth=0列出所有全局頂級模塊(有關(guān)ls,請參閱cli文檔)
awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}'打印實際上不是npm本身的所有模塊(不以結(jié)尾/npm)
xargs npm -g rm 全局刪除前一個管道上的所有模塊

TA貢獻1893條經(jīng)驗 獲得超10個贊
對于使用Windows的用戶,刪除所有全局安裝的npm軟件包的最簡單方法是刪除以下內(nèi)容:
C:\Users\username\AppData\Roaming\npm
您可以通過鍵入%appdata%(在資源管理器,運行提示或開始菜單中)快速到達此處。

TA貢獻1811條經(jīng)驗 獲得超4個贊
我嘗試了Kai Sternad的解決方案,但對我來說似乎并不完美。awk在deps樹本身的最后一個之后,還有許多特殊符號。
因此,我想出了自己對Kai Sternad解決方案的修改(在Cashmere想法的幫助下):
npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | grep -vE '^(npm|)$' | xargs -r npm -g rm
npm ls -gp --depth=0以可分析的格式列出所有全局安裝的npm模塊:
/home/leonid/local/lib
/home/leonid/local/lib/node_modules/bower
/home/leonid/local/lib/node_modules/coffee-script
...
awk -F/node_modules/ '{print $2}' 從路徑中提取模塊名稱,形成所有全局安裝的模塊的列表。
grep -vE '^(npm|)$' 刪除npm本身和空白行。
xargs -r npm -g rm調(diào)用npm -g rm列表中的每個模塊。
像Kai Sternad的解決方案一樣,它只能在* nix下工作。
- 3 回答
- 0 關(guān)注
- 5972 瀏覽
添加回答
舉報