让我们说,我已经安装了一些新软件包,卸载了一些软件包,将一些软件包更新到新版本。所有更改都会保存到package.json
。当我使用这个新的package.json
提取更改时,是否有一个命令可以在本地安装的软件包与更新的package.json
中指定的软件包之间进行同步?
我正在寻找类似的东西:
$ npm syncrhonise
答案 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