删除所有全局安装的npm模块的命令

465

有没有一条命令可以删除所有全局npm模块?如果没有,你有什么建议?

31个回答

4
你们做得很好。这是将建议合并为一行代码的组合。
npm rm -g `npm ls -gp --depth=0 | awk -F/node_modules/ '{print $2}' | tr '/\n' ' '`

有什么不同吗?卸载将通过一个单独的命令完成,如下所示:npm rm -g *** *** ***


4

关于 yarn global

nano ~/.config/yarn/global/package.json
<Manually remove all packages from package.json>
yarn global add

或者,如果您不关心实际上在 package.json 内部是什么。
echo {} >  ~/.config/yarn/global/package.json && yarn global add

这同样适用于NPM,但我不确定NPM全局存储在哪里。

2
您可以在以下位置找到所有已安装的npm包:
C:\Users\username\AppData\Roaming\npm

删除您想要删除的npm内容。

如果AppData没有显示,这意味着它是隐藏的,您可以在文件资源管理器中查看“查看”并选中“隐藏的项目”,然后您就可以看到所有隐藏的文件夹。


2

Windows系统:

rmdir /s /q "%appdata%/npm"

2

如果您想要一种更手动的方法,不涉及文件资源管理器,也不关心安装位置,非常不可能在以后出现问题,并且是100%跨平台兼容的,因为有额外的步骤,所以感觉更加安全,请使用这种方法。

  • npm ls -g --depth=0
  • 复制输出
  • 粘贴到您喜欢的代码编辑器中(我使用vsCode。非常适合多光标编辑)
  • 检查是否有任何您想保留的软件包(例如nodemon,yarn等),删除这些行
  • 删除每个+--或其他行修饰符的实例
  • 删除所有版本信息(例如'@2.11.4')
  • 将所有项目放在同一行上,用空格分隔
  • 在该行的开头添加npm uninstall -g
    • 我的看起来像npm uninstall -g @angular/cli @vue/cli express-generator jest mocha typescript bindings nan nodemon yarn,但我在这台机器上没有全局安装很多软件包。
  • 复制该行
  • 粘贴到终端中,如果还没有从复制/粘贴中添加,则按Enter键
  • 查看终端中是否有任何错误。
  • 检查npm ls -g以确保已完成。如果重新安装了某些软件包,请重复此过程

其他仅限CLI的方法非常适合计算机管理员一次性为100个几乎相同的计算机执行操作,或者可能是Puppet之类的东西。但是,如果您只需要执行一次此操作,甚至在一年内执行5次,这种方法更加简单。


1
试试这个,告诉我你的想法。
npx npkill  

这是2023年最方便的方式。 - undefined

1
如果你在使用Windows系统,并且想要移除/卸载所有的node_modules,那么需要按照以下步骤进行操作。
  1. Go to windows command prompt
  2. Navigate to node_modules directory (Not inside node_modules folder)
  3. Type below command and give it for 1-2 minutes it will uninstall all directories inside node_module

     rmdir /s /q node_modules
    
希望这能帮助一些使用 Windows 的人。

1
如果您有Intellij Webstorm,您可以使用其内置的图形化包管理器。
以root身份打开它并创建一个空项目。进入
文件>设置>语言和框架>Node.js和NPM
在那里,您将看到所有已安装的软件包。卸载很容易,您可以选择和取消选择要卸载的任何软件包,Ctrl + a也可以使用。

1

以下是适用于 MAC 的操作方法:

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man//node.}


0

这里有一个更优雅的解决方案,我尝试让npm为我完成所有工作。

# On Linux Mint 19.1 Cinnamon
# First navigate to where your global packages are installed.

$ npm root # returns /where/your/node_modules/folder/is
$ cd /where/your/node_modules/folder/is # i.e for me it was cd /home/user/.npm-packages/lib/node_modules

然后,如果您执行npm uninstallnpm remove,这些模块将被视为项目的普通依赖项。它甚至在完成时生成一个package-lock.json文件:

$ npm remove <package-name> # you may need sudo if it was installed using sudo  

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接