我看到了一些教程,其中的命令是:

npm install --save

--save选项是什么意思?


当前回答

当您在npm命令中使用--save来安装包时,这意味着您的项目将在生产环境中安装这些依赖项,例如,如果您安装了一个库来管理日期。

npm install moment --save
npm i moment -S (same result)

(这适用于生产环境)

npm install moment --save--dev
npm i moment -D (same result)

(这是用于开发环境)

其他回答

更新npm 5:

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

原答覆:

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

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

此外,还有两个补充选项--save dev和--save optional,它们分别将包保存在devDependencies和optionalDependencie下。这在安装仅用于开发的软件包时非常有用,例如grut或测试库。

从npm 5开始,使用--save prod(或-P)比--save更有利,但做同样的事情,如npm install中所述。到目前为止,如果提供,--save仍然有效。

根据NPM文件:

因此,似乎通过运行npm install package_name,包依赖项应该自动添加到package.json中,对吗?

向package.json添加依赖项的更简单(更棒)方法是从命令行执行,根据您希望如何使用该依赖项,使用--save或--save-dev标记npm安装命令。

截至npm 5的更新:

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


原答覆:

如果你没有package.json文件,它不会做任何事情。首先运行npm init创建一个。然后调用npm install--save或npm install--save dev或npm install--save optional将更新package.json以列出依赖项。