npm:使用'npm uninstall'而不是删除文件夹

时间:2016-10-07 14:35:40

标签: npm

我想试试grunt-babel,所以我在我的Home文件夹中打开了一个终端,根据插件的说明npm install --save-dev grunt-babel babel-preset-es2015。

我这样做太仓促了,并意识到我应该在我的 new 项目文件夹中完成这项工作,我正在使用ES6代码。我甚至没有在该文件夹中执行npm init,也没有在我执行install命令的Home文件夹中完成。

当我执行npm uninstall grunt-babel时,删除了预设文件,但是在node_modules文件夹中仍保留了91个不同依赖项的文件夹。

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

这家伙问了一个类似的问题,但没有一个答案解决他只是删除文件夹的问题:how to uninstall npm modules in node js?

3 个答案:

答案 0 :(得分:6)

  • npm uninstall从node_modules中删除模块,但不从package.json中删除。
  • npm uninstall --save也删除package.json中的依赖项。

  • npm rm在卸载无效时删除软件包

  • npm prune对于无关的包是父包依赖列表中未列出的包。

但是如果您不想逐个卸载,那么确保卸载的软件包不再是json软件包并运行rm -rf node_modules && npm cache clean && npm install

答案 1 :(得分:1)

更新后的答案(2020年):

这些都是uninstall的别名: removermrununlink

今天,由于它是默认标志,因此不需要--save标志。安装BTW也是如此。

答案 2 :(得分:0)

使用npm list作为了解您所做更改的工具。我通常会花时间制作一个捕获文件,例如: npm列表> 1307 ;做些改变 npm列表> 1309 因此: 猫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

safe-stable-stringify是可删除的候选对象,但wordwrap不是。考虑一下,这是完全合理的!

npm卸载pkgtoyank-保存

也通过从此处删除packages.json来更新。

至少可以说

npm的设计很好。我通常会非常避免直接在./node_modules中对其进行戳戳,我将从那里将其复制出来以查看它们,但是为什么要用皮带绑住 BIG CAT 并得到一点。有用;按预期使用它。...

关于所有人, 丹