使 NPM 删除模块从 package.json 中删除,即反映 package.json 的状态

Make NPM remove module deleted from package.json, ie reflect the state of package.json

如果我删除 package.json 中的依赖项,是否有命令可以 运行 让 NPM 从 node_modules 目录中删除它?

我知道我可以直接使用

从 NPM 中删除它
npm uninstall <module> --save

但我认为如果我可以从 package.json 和 运行 命令中删除该行并且 NPM 会删除它会更容易(and/or 安装我添加到 package.json).换句话说,我想要一个命令使我的 node_modules 目录反映我在 package.json.

中设置的依赖项

有什么办法吗?

I want a command to make my node_modules directory reflect the dependencies I set up in package.json. Is there any way to do this?

还没有。这是 npm@3 中可能会出现的功能——您可以阅读博客 post,其中列出了 npm@3 相关性计算的计划:http://blog.npmjs.org/post/98233700815/multi-stage-installs-and-a-better-npm

目前,使 node_modules 准确反映您的 package.json 内容的最可靠方法是 rm -rf node_modules ; npm install,这通常是矫枉过正。

npm ls 将在安装但未引用包时告诉您。

使用 npm prune 命令删除以前安装但从 package.json 文件中删除的包。