npm:使用';npm卸载';而不是仅仅删除文件夹

npm:使用';npm卸载';而不是仅仅删除文件夹,npm,Npm,我想尝试grunt babel,所以我在我的主文件夹中打开了一个终端并进行了npm安装——根据插件的说明保存dev grunt babel-preset-es2015 我做这件事太匆忙了,我意识到我应该在我的新项目文件夹中做这件事,在那里我正在尝试ES6代码。我甚至没有在该文件夹中执行npminit,也没有在执行install命令的主文件夹中执行npminit 当我执行npm卸载grunt babel时,预设文件将被删除,但node_modules文件夹中仍保留91个不同依赖项的文件夹 我可以简

我想尝试grunt babel,所以我在我的主文件夹中打开了一个终端并进行了npm安装——根据插件的说明保存dev grunt babel-preset-es2015

我做这件事太匆忙了,我意识到我应该在我的新项目文件夹中做这件事,在那里我正在尝试ES6代码。我甚至没有在该文件夹中执行npminit,也没有在执行install命令的主文件夹中执行npminit

当我执行npm卸载grunt babel时,预设文件将被删除,但node_modules文件夹中仍保留91个不同依赖项的文件夹

我可以简单地删除文件夹而不是运行npm卸载91次吗

这家伙问了一个类似的问题,但没有一个答案能解决他删除文件夹的子问题:

  • npm uninstall
    从节点_模块中删除模块,但不从package.json中删除

  • npm uninstall--save
    也可以从package.json中删除依赖项

  • npm rm
    卸载不工作时删除软件包

  • npm prune
    ()用于无关包和未在父包的依赖项列表中列出的包

如果不想逐个卸载,请运行
rm-rf节点\u模块和npm缓存清理和npm安装


这是确保您卸载的软件包不再位于软件包json中的好方法。

使用
npm list
作为了解更改的工具。我通常利用这段时间制作一个捕获文件,如:

npm list >1307
做些改变

npm list >1309
那么:

cat 13??
或者编辑让我看看npm认为它做了什么

对于卸载,仅删除根目录上所有大小为“整包”的包。除此之外,命令被礼貌地忽略了

例如:

├── safe-stable-stringify@1.1.0
├── semver@6.3.0
├─┬ tableify@1.1.0
│ └─┬ optimist@0.6.1
│   ├── minimist@0.0.8 deduped
│   └── wordwrap@0.0.3
安全稳定的stringify是一个删除候选,但wordwrap不是。想想看,这是完全合理的

npm uninstall pkgtoyank -save
通过从packages.json中删除它来更新packages.json

至少可以说,npm设计得非常好。我通常非常避免直接戳到它下面。/我会从那里把东西复制出来看看,但是为什么要拽着一只大猫的皮带然后被咬呢。它起作用了;按预期使用它……

更新答案(2020):

这些都是卸载的别名:
删除
rm
r
un
取消链接


现在不需要使用
--save
标志,因为它是默认的。顺便说一句,安装也是如此。

这如何回答手动删除和npm卸载的区别问题。您添加了删除类型很好,但您能给出具体的答案吗