是否有一个命令来同步`package.json`中的npm包?

时间:2016-04-07 08:39:40

标签: node.js npm

让我们说,我已经安装了一些新软件包,卸载了一些软件包,将一些软件包更新到新版本。所有更改都会保存到package.json。当我使用这个新的package.json提取更改时,是否有一个命令可以在本地安装的软件包与更新的package.json中指定的软件包之间进行同步?

我正在寻找类似的东西:

$ npm syncrhonise

2 个答案:

答案 0 :(得分:0)

npm install将安装package.json中指定的所有包。 npm update也会这样做,但也会找到这些软件包的任何新版本。您可以使用npm uninstall <package>卸载单个程序包。已有解决方案可以删除所有包here

答案 1 :(得分:0)

我找到了两种方法:

首先 npm prune将卸载package.json中未列出的所有内容

  

npm prune [<name> [<name ...]]

     

此命令删除&#34;无关&#34;包。如果包名是   提供,然后只有匹配提供的名称之一的包   除去。

     

无关的包是未列在的包   父包的依赖列表。

prune提供的文档。

第二次您可以删除node_modules /文件夹,然后从package.json重新安装依赖项。

rm -rf node_modules/
npm install
  

这将擦除当前文件夹中的所有已安装软件包   从package.json安装依赖项。如果依赖项有   以前安装过的npm会尝试使用缓存版本,   避免第二次下载依赖项。

Windows技巧

  

由于其文件夹嵌套,Windows无法删除该文件夹,因为其名称太长。要解决此问题,请安装RimRaf:

npm install rimraf -g

rimraf node_modules