npm install的--save选项是什么?

Dmi*_*tri 1779 node.js npm

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

npm install --save
Run Code Online (Sandbox Code Playgroud)

--save选项意味着什么?

无法在Google上找到答案.

voi*_*hos 2176

更新npm 5:

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

原始答案:

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

--save选项指示NPM将包装自动包含在dependencies您的部分内package.json,从而为您节省了额外的一步.

此外,还有补充选项--save-dev,--save-optional分别保存包下devDependenciesoptionalDependencies.这在安装仅开发包,grunt或者您的测试库时非常有用.

  • 说真的,这是在任何地方记录的吗?我无法在谷歌或"npm"帮助中找到它. (116认同)
  • 如果使用`npm install --help`时出现这方面的文档会很好. (96认同)
  • @jimsmith:从npm 5.0开始,它是默认值. (9认同)
  • @voithos对我来说,NPM 5更新了package.json中的软件包版本.为了避免它,我需要运行'npm update --no-save' (6认同)
  • NPM 5上的"npm update"是否默认修改package.json? (3认同)
  • 似乎已从npm install的官方文档中删除了过时的保存选项. (3认同)
  • @MarkStosberg:它列在“npm help install”下,它会在我的计算机上显示“npm-install”的手册页。 (2认同)
  • 使用 `--save --save-exact` 或 `--save-dev --save-exact` 将 semver 范围固定到特定版本,而不是使用插入符号。另外值得注意的是,如果您执行例如 `npm install Sails@balderdashy/sails#master --save --save-exact`,您将在指定 GitHub 存储库的主分支上固定最近提交的依赖项。 (2认同)
  • 很惊讶这不是默认的,就像作曲家一样 (2认同)
  • 现在--save是默认值,您可以使用--no-save不会自动将依赖项添加到package.json (2认同)

Joe*_* L. 191

要在依赖项中添加包:

npm install my_dep --save
Run Code Online (Sandbox Code Playgroud)

要么

npm install my_dep -S
Run Code Online (Sandbox Code Playgroud)

在devDependencies中添加包

npm i my_dep -S
Run Code Online (Sandbox Code Playgroud)

要么

npm install my_test_framework --save-dev
Run Code Online (Sandbox Code Playgroud)

的package.json 在此输入图像描述

  • 小心使用像`-S``-D`这样的快捷版本,因为它们必须是大写的.我总是犯这个错误,npm不会抱怨或将它添加到package.json (23认同)
  • 它不会抱怨,因为-s(小写)用于--silent选项,而-d用于日志级别信息,它们都是有效的快捷方式。 (2认同)

Nic*_*ack 126

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

  • 刚刚发现它具有追溯性(似乎).你可以先运行你的`npm install --save-dev`,然后运行npm init,你的package.json就会被填充. (36认同)

ROR*_*ROR 12

根据NPM Doc

在此输入图像描述

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

  • 我想 --no-save 是在您想要 npm<5 之类的功能时使用 (2认同)

Dev*_*vWL 10

你也可以使用-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 false
ll and la commands: ls --long
Run Code Online (Sandbox Code Playgroud)

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

$ npm help 7 config
Run Code Online (Sandbox Code Playgroud)


xgq*_*rms 9

npm v6.x 更新?

现在你可以使用的一个npm inpm i -Snpm i -P安装并保存模块作为一个依赖。

npm i 是别名 npm 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 -v
6.14.4
Run Code Online (Sandbox Code Playgroud)

获取 npm 帮助

?  ~ 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
Run Code Online (Sandbox Code Playgroud)

获取 npm 安装帮助

npm -h i / npm help install

$ 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]
?  ~ 

Run Code Online (Sandbox Code Playgroud)

参考

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

在此处输入图片说明


小智 9

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

\n

但如前所述,从 npm 5.0.0 版本开始,这是一个不必要的功能。

\n
npm install --save\n
Run Code Online (Sandbox Code Playgroud)\n


the*_*eld 7

从npm 5开始,使用--save-prod(或-P)比使用npm install中--save所述的相同的东西更有利.到目前为止,如果提供仍然有效.--save

  • 这需要到顶部来避免我们所有人的阅读变化、矛盾和线程劫持的麻烦。所以需要鼓励使用有效的 URL 提供简洁的答案,这样我们就可以避免 CRUD 并继续我们的工作。(Quora 有一个简洁的“这个答案相关吗”等,我什至之前就建议这样做) \n 糟糕的是官方节点文档没有提到旧的(已失效的)选项,而且大多数节点引用似乎都是预先的-5.0,让我们头晕目眩。 (2认同)

raj*_*mar 6

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

npm config set save false
Run Code Online (Sandbox Code Playgroud)

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

npm config get save
Run Code Online (Sandbox Code Playgroud)

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


Niz*_*een 5

npm install package_x --save

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

npm install <> --save-dev

然后它将被保存在"devDependencies"中.

  • 您的答案有何贡献,其他答案尚未涵盖? (3认同)
  • @Pedro A——我怀疑这家伙重写了他刚刚读到的内容;然后他的朋友们给他投票。 (3认同)

Nit*_*agi 5

npm i (包名) --save

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

npm 帮助安装

上面的命令将有助于找出更多选项并纠正图片中显示的 def.shown 在此处输入图片说明


小智 5

将依赖项添加到 package.json 的更简单(也更棒)的方法是从命令行执行此操作,用 --save 或 --save-dev 标记 npm install 命令,具体取决于您想要的方式使用该依赖项。


小智 5

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

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

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

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

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