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


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

npm install --save

什么是 --save 选项意味着什

无法在Google上找到答案。


1115
2017-10-24 23:54


起源


如果有疑问,你可以随时做 npm help install 获取更多信息。 - WiredPrairie
@ Tom- --save: Package will appear in your dependencies. - WiredPrairie
您可以使用快捷键-S和-D,其中-S是--save,-D是'--save-dev。 --save(或simple -S):包将出现在您的依赖项中。 --save-dev(或simple -D):包将出现在你的devDependencies中。 - Gil Epshtain
@WiredPrairie谢谢我的努力 npm install (--help | -h | -help ..) 没事了。 - juliangonzalez
@Dmitri,我有同样的问题。加入NPM将其添加到您工具的MAN页面 - Erdinc Ay


答案:


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

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

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

更新npm 5:

作为 npm 5.0.0,默认情况下,已安装的模块作为依赖项添加,因此 --save 选项不再使用。其他保存选项仍然存在并列在 文件 对于 npm install


1422
2017-10-24 23:56



说真的,这在任何地方都有记录吗?我无法在谷歌或谷歌上找到它 npm 帮帮我。 - Christian Ternus
如果这方面的文档出现的话会很好 npm install --help 被使用了。 - Mark Stosberg
@jimsmith:从npm 5.0开始,它是默认值。 - voithos
NPM 5上的“npm update”是否默认修改package.json? - Igor Okorokov
@voithos对我来说,NPM 5更新了package.json中的软件包版本。为了避免它,我需要运行'npm update --no-save' - Igor Okorokov


要在依赖项中添加包:

npm install my_dep --save

要么

npm install my_dep -S

在devDependencies中添加包

npm install my_test_framework --save-dev

要么

npm install my_test_framework -D

的package.json enter image description here


118
2018-03-07 17:08



小心使用像这样的快捷版本 -S  -D 因为它们必须是大写的。我总是犯这个错误,npm不会抱怨或将它添加到package.json - nightherb
加上pacakge?,嗯 - Kugan Kumar
@KuganKumar来吧,你知道我的意思。 - Joe L.


如果你没有,它什么都不会做 package.json 文件。从跑步开始 npm init 创造一个。然后打电话给 npm install --save 要么 npm install --save-dev 要么 npm install --save-optional 将更新 package.json 列出您的依赖项。


113
2017-07-08 05:23



刚刚发现它具有追溯性(似乎)。你可以运行你的 npm install --save-dev 首先,然后是npm init,你的package.json将被填充。 - Jacob Wang


你也可以使用 -S-D 要么 -P 这相当于将包保存到app依赖项,dev依赖项或prod依赖项。查看以下更多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

7
2018-06-10 08:07





npm install package_x --save

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

npm install <> --save-dev

然后它将被保存在“devDependencies”中。


5
2017-07-27 22:10



您的答案有何贡献,其他答案尚未涵盖? - Hamsterrific
@Hamsteriffic为什么要责怪那些想要贡献的人。 - Vignesh


截至下午5点,使用起来更为有利 --save-prod (要么 -P)比 --save 但是做同样的事情,如中所述 npm安装。至今, --save 如果提供仍然有效。


5
2017-08-16 22:42



这需要到顶部以拯救我们所有的眼睛阅读变化,矛盾和线程劫持。因此,我们需要使用有效的URL来鼓励简洁的答案,这样我们就可以避免使用CRUD并继续我们的工作。 (Quora有一个整洁的'这个答案是否相关'等我甚至在此之前建议过去做这个)\ n很糟糕,官方节点doc没有提到旧的(已解散)选项和大多数节点引用似乎是预先-5.0,发送我们的头旋转。 - killjoy


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

npm config set save false

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

npm config get save

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


5
2017-11-03 07:55





根据 NPM Doc

enter image description here

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


2
2018-05-07 03:18



我想 - 当你想要像npm <5这样的功能时,可以使用no-save - Abhiroj Panwar
我懂了, npm config ls -l 显示默认情况下,save-xxx选项都是false,只有save是true。 - ROROROOROROR


npm i(包名) - 保存 

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

npm帮助安装 

以上命令ll帮助找出更多选项并更正pic中的def.shown enter image description here


1
2018-01-10 07:45





向package.json添加依赖项的更简单(也更棒的)方法是从命令行执行此操作,使用--save或--save-dev标记npm install命令,具体取决于您希望如何使用那种依赖。


1
2018-06-05 10:10