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

npm install --save

--save选项是什么意思?


当前回答

更新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的更新:

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


原始答案:

要在依赖项中添加包,请执行以下操作:

npm install my_dep --save

or

npm install my_dep -S

or

npm i my_dep -S

在devDependencies中添加包

npm install my_test_framework --save-dev

or

npm install my_test_framework -D

or

npm i my_test_framework -D

包.json

从npm 5开始,npm现在将默认保存。

在这种情况下,如果您希望npm以类似于以前版本的方式工作(没有自动保存),您可以更新配置选项以启用自动保存,如下所示。

npm config set save false

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

npm config get save

来源:以下是你需要了解的npm 5

npm v6.x更新

现在,您可以使用npm i或npm i-S或npm i-P之一来安装模块并将其保存为依赖项。

npm i是npm install的别名

npm i等于npm install,这意味着默认的save模块是一个依赖项;npm i-S等于npm install--save(npm v5-)npm i-P等于npm install--save prod(npm v5+)

查看您的npm版本

npm -v

6.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 info
npm help <term>   search for help on <term>
npm help npm      involved overview

Specify configs in the ini-formatted file:
    /Users/xgqfrms-mbp/.npmrc
or on the command line via: npm <command> --key value
Config 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帮助安装别名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, add
common options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]
➜  ~

工具书类

npm安装

npm install--save或npm install--save-dev是我们在项目中安装软件包时在这两个选项中选择一个选项的原因。

从前面的回答中可以看出,npm install--save将在package.json文件的dependency字段中添加一个条目,而另一个条目则在dev dependency中添加。

所以问题来了:为什么我们需要package.json文件中的安装模块条目,因为每当我们在Git中签入代码或将代码交给某人时,我们总是在不使用node_modules文件夹的情况下提交或检查代码,因为它的大小非常大,而且在公共位置也可用,所以为了避免这种情况,我们这样做。

那么,另一个人将如何获得该项目特定或需要的所有模块,因此答案来自package.json文件,该文件包含运行或开发该项目所需的所有包的条目。

因此,在获得代码后,我们只需运行npm install命令。它将读取package.json文件并安装必要的软件包。

–npm install--save或-S:当以下命令与npm安装一起使用时,这会将所有已安装的核心包保存到package.json文件的依赖部分中。核心依赖项是那些应用程序无法提供所需结果的包。

但如前所述,在npm 5.0.0版本之后,这是一个不必要的功能。

npm install --save