安装新软件包时,将删除未保存的已安装NPM软件包

时间:2019-01-18 05:55:47

标签: node.js express npm package

我在Express.js中有一个项目,我需要在其中安装新软件包,以添加新功能。但是,当我安装新软件包时,一些旧软件包(可能未使用save命令安装)将被卸载。有没有一种方法,可以通过读取package-lock.json依赖项来更新package.json,因此新的依赖项不会删除较旧的依赖项?

建议将不胜感激!谢谢。

1 个答案:

答案 0 :(得分:1)

更新npm 5:

从npm 5.0.0开始,默认情况下已安装的模块作为依赖项添加,因此不再需要--save选项。其他保存选项仍然存在,并在npm install文档中列出。

在NPM 5之前:

在版本5之前,默认情况下,NPM只是在node_modules下安装了一个软件包。当您尝试为应用程序/模块安装依赖项时,需要先安装它们,然后将它们(以及适当的版本号)添加到package.json的依赖项部分。

-save选项指示NPM自动将软件包包括在package.json的dependencies部分中,从而为您节省了额外的步骤。

此外,还有补充选项--save-dev和--save-optional,它们分别将软件包保存在devDependencies和optionalDependencies下。当安装仅开发包,例如grunt或测试库时,这很有用。