什么是npm安装的--Save选项?

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

npm install --save

--save选项是什么意思?

1003316 次浏览

更新npm 5:

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

原答复:

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

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

此外,还有互补选项--save-dev--save-optional,它们分别将包保存在devDependenciesoptionalDependencies下。这在安装仅限开发的包时很有用,例如grunt或您的测试库。

从npm 5开始更新:

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


原答复:

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

从npm 5开始更新:

从npm 5.0.0(2017年5月发布)开始,已安装默认情况下,模块作为依赖项添加,因此--save选项不再需要
其他保存选项仍然存在,并在留档中列出npm install.


原答复:

在依赖项中添加包:

npm install my_dep --save

npm install my_dep -S

npm i my_dep -S

在devDepend的组件中添加包

npm install my_test_framework --save-dev

npm install my_test_framework -D

npm i my_test_framework -D

package.json输入图片描述

您还可以使用-S-D-P,它们相当于将包保存到应用程序依赖项、开发依赖项或产品依赖项。请参阅下面的更多NPM快捷方式:

-v: --version-h, -?, --help, -H: --usage-s, --silent: --loglevel silent-q, --quiet: --loglevel warn-d: --loglevel info-dd, --verbose: --loglevel verbose-ddd: --loglevel silly-g: --global-C: --prefix-l: --long-m: --message-p, --porcelain: --parseable-reg: --registry-f: --force-desc: --description-S: --save-P: --save-prod-D: --save-dev-O: --save-optional-B: --save-bundle-E: --save-exact-y: --yes-n: --yes falsell and la commands: ls --long

可以通过运行以下命令获得此快捷方式列表:

$ npm help 7 config

npm install package_x --save

给定的包(package_x)将保存在依赖项内的package.json中。如果您添加

npm install <<package_x>> --save-dev

然后它将被保存在开发依赖中。

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

从npm 5开始,npm现在默认保存。如果您希望npm以与以前版本类似的旧方式(没有自动保存)工作,您可以更新配置选项以启用自动保存,如下所示。

npm config set save false

要获取当前设置,您可以执行以下命令:

npm config get save

来源:https://blog.pusher.com/what-you-need-know-npm-5/

npm i(软件包名称)--保存

简单地说,使用上述命令,我们不需要在您的package.json文件中写入软件包名称,它会自动添加其名称和依赖项,以及您在进行生产或设置时需要的版本。

npm帮助安装

上面的命令ll帮助找出更多的选项和正确的def.shown图片输入图片描述

根据NPM文档

在此处输入图片描述

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

将依赖项添加到package.json的更简单(也更棒)的方法是从命令行执行此操作,根据您希望如何使用该依赖项,使用--Save或--save-dev标记npm install命令。

npm install --savenpm install --save-dev为什么我们在项目中安装包时在这两者之间选择1个选项。

从上面的答案可以清楚地看出,npm install --save将在pacakage.json文件的dependency字段中添加条目,在dev-dependency中添加另一个条目。

所以问题就出现了,为什么我们需要在pacakge.json文件中输入我们的安装模块,因为每当我们在git中签入代码或将我们的代码提供给某人时,我们总是在没有node-modules的情况下给它或检查它,因为它的大小非常大,也可以在常见的地方使用,所以为了避免这种情况,我们这样做。

那么其他人将如何获得该项目专门或需要的所有模块,因此答案是from the package.json文件,其中包含运行或开发该项目所需的所有包的条目。

因此,在获得代码we simply need to run the npm install命令后,它将读取package.json文件并安装必要的包。

npm v6. x更新

现在您可以使用npm inpm i -Snpm i -P之一来安装和保存模块作为依赖项。

npm inpm install的别名

  1. npm i等于npm install,表示默认保存模块为依赖关系;
  2. npm i -S等于npm install --save(npm v5-)
  3. npm i -P等于npm install --save-prod(npm v5+)

查看你的npm版本

$ npm -v6.14.4

获取npm cli帮助信息

$ npm -h
Usage: npm <command>
where <command> is one of:access, adduser, audit, bin, bugs, c, cache, ci, cit,clean-install, clean-install-test, completion, config,create, ddp, dedupe, deprecate, dist-tag, docs, doctor,edit, explore, fund, get, help, help-search, hook, i, init,install, install-ci-test, install-test, it, link, list, ln,login, logout, ls, org, outdated, owner, pack, ping, prefix,profile, prune, publish, rb, rebuild, repo, restart, root,run, run-script, s, se, search, set, shrinkwrap, star,stars, start, stop, t, team, test, token, tst, un,uninstall, unpublish, unstar, up, update, v, version, view,whoami
npm <command> -h  quick help on <command>npm -l            display full usage infonpm help <term>   search for help on <term>npm help npm      involved overview
Specify configs in the ini-formatted file:/Users/xgqfrms-mbp/.npmrcor on the command line via: npm <command> --key valueConfig info can be viewed via: npm help config
npm@6.14.4 /Users/xgqfrms-mbp/.nvm/versions/node/v12.18.0/lib/node_modules/npm

获取npm安装帮助

npm help install别名npm -h i

$ npm help install# OR, alias# $ npm -h i
npm install (with no args, in package dir)npm install [<@scope>/]<pkg>npm install [<@scope>/]<pkg>@<tag>npm install [<@scope>/]<pkg>@<version>npm install [<@scope>/]<pkg>@<version range>npm install <alias>@npm:<name>npm install <folder>npm install <tarball file>npm install <tarball url>npm install <git:// url>npm install <github username>/<github project>
aliases: i, isntall, addcommon options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]➜  ~

裁判

https://docs.npmjs.com/cli/install

输入图片描述

当以下命令与npm install一起使用时,这将把所有已安装的核心包保存到package.json文件的依赖项部分。核心依赖项是那些没有它们的应用程序将无法提供所需结果的包。但如前所述,它在npm 5.0.0版本中是一个不必要的功能。

npm install --save

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

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

(此为生产环境)

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

(这是为了发展环境)