是否有删除所有全局npm模块的命令?如果没有,你有什么建议?


当前回答

对于Windows,这个脚本可以用来核化本地和用户的全局模块和缓存。

我注意到在linux上,全局根对系统来说是全局的,而不是给定的用户。因此,对于共享系统,删除全局根可能不是一个好主意。除此之外,如果有兴趣,我可以将脚本移植到bash。

对于Windows,保存到一个cmd文件中运行。

@ECHO OFF
SETLOCAL EnableDelayedExpansion 
SETLOCAL EnableExtensions

SET /A ecode=0

:: verify
SET /P conf="About to delete all global and local npm modules and clear the npm cache. Continue (y/[n])?
IF /I NOT "%conf%"=="y" (
  ECHO operation aborted
  SET /A ecode=!ecode!+1
  GOTO END
)

:: wipe global and local npm root
FOR %%a IN ("" "-g") DO (

  :: get root path into var
  SET cmd=npm root %%~a
  FOR /f "usebackq tokens=*" %%r IN (`!cmd!`) DO (SET npm_root=%%r)

  :: paranoid
  ECHO validating module path "!npm_root!"
  IF "!npm_root:~-12!"=="node_modules" (
    IF NOT EXIST "!npm_root!" (
      ECHO npm root does not exist "!npm_root!"
    ) ELSE (
      ECHO deleting "!npm_root!" ...
      :: delete
      RMDIR /S /Q "!npm_root!"
    )
  ) ELSE (
      ECHO suspicious npm root, ignoring "!npm_root!"
  )
)

:: clear the cache
ECHO clearing the npm cache ...
call npm cache clean

:: done
ECHO done

:END

ENDLOCAL & EXIT /b %ecode%

其他回答

只需切换到您的%appdata%/npm目录并运行以下…

for package in `ls node_modules`; do npm uninstall $package; done;

EDIT:这个命令在npm 3.3.6 (Node 5.0)中中断。我现在使用以下Bash命令,我已经映射到我的.bashrc文件中的npm_uninstall_all:

npm uninstall `ls -1 node_modules | tr '/\n' ' '`

额外的好处?这要快得多!

https://github.com/npm/npm/issues/10187

如何卸载包中列出的所有依赖项。json (NPM) ?

对于那些使用Windows的人来说,删除所有全局安装的npm包的最简单的方法是删除以下内容:

C:\用户\用户名\应用数据\漫游\npm

您可以通过在资源管理器、运行提示符或开始菜单中键入%appdata%/npm快速到达那里。

好吧,如果你在windows上,想要删除/卸载所有的node_modules,那么你需要执行以下步骤。

进入windows命令提示符 导航到node_modules目录(不在node_modules文件夹内) 输入下面的命令,并给它1-2分钟,它将卸载node_module中的所有目录 Rmdir /s /q node_modules .使用实例

希望这对窗户上的人有所帮助

Windows:

rmdir /s /q "%appdata%/npm"
sudo npm uninstall npm -g

或者,如果失败了,获取npm源代码,并执行:

sudo make uninstall

手动删除所有与npm相关的内容:

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