草庐IT

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

HuntsBot 2023-04-12 原文

问:

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

npm install --save

–save 选项是什么意思?

答1:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

更新 npm 5:

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

原答案:

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

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

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

说真的,这在任何地方都有记录吗?我在 Google 或 npm 帮助中找不到它。

如果在使用 npm install --help 时出现这方面的文档,那就太好了。

@jimsmith:从 npm 5.0 开始,它是默认设置。

NPM 5 上的“npm update”是否会默认修改 package.json?

@voithos 对于我来说,NPM 5 更新 package.json 中的包版本。为了避免它,我需要运行'npm update --no-save'

答2:

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

从 npm 5 开始更新:

从 npm 5.0.0 (released in May 2017) 开始,已安装的模块默认添加为依赖项,因此不再需要 --save 选项。 其他保存选项仍然存在,并列在 { 3}。

原答案:

在依赖项中添加包:

npm install my_dep --save

或者

npm install my_dep -S

或者

npm i my_dep -S

在 devDependencies 中添加包

npm install my_test_framework --save-dev

或者

npm install my_test_framework -D

或者

npm i my_test_framework -D

https://i.stack.imgur.com/6prDT.png

请小心使用 -S -D 等快捷方式版本,因为它们必须是大写的。我总是犯这个错误,npm 没有抱怨或将其添加到 package.json

它不会抱怨,因为 -s(小写)用于 --silent 选项,而 -d 用于日志级别信息,它们都是有效的快捷方式。

答3:

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

从 npm 5 开始更新:

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

原答案:

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

刚刚发现它可以追溯(似乎)。您可以先运行 npm install --save-dev,然后 npm init 和您的 package.json 将被填充。

答4:

huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式

根据NPM Doc

https://i.stack.imgur.com/DX82E.png

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

我猜 --no-save 是在你想要 npm<5 之类的功能时使用

我看到了,npm config ls -l 表明默认情况下,save-xxx 选项都是 false,只有 save 是 true。

如果您放置一个不存在的选项,例如 --save-xxxxxx,npm 似乎不会触发任何错误。它只是忽略它,默认行为 --save-prod 将生效。也许 --save 来自一些旧的 npm 版本。

答5:

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

您还可以使用 -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

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

$ npm help 7 config

答6:

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

npm v6.x 更新

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

npm i 是 npm install 的别名

npm i 等于 npm install,表示默认将模块保存为依赖项; 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 

where  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  -h  quick help on 
npm -l            display full usage info
npm help    search for help on 
npm help npm      involved overview

Specify configs in the ini-formatted file:
    /Users/xgqfrms-mbp/.npmrc
or on the command line via: npm  --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 -hi

$ npm help install
# OR, alias
# $ npm -h i

npm install (with no args, in package dir)
npm install [<@scope>/]
npm install [<@scope>/]@
npm install [<@scope>/]@
npm install [<@scope>/]@
npm install @npm:
npm install 
npm install 
npm install 
npm install 
npm install /

aliases: i, isntall, add
common options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]~ 


参考

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

https://i.stack.imgur.com/h5ZAl.png

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

答7:

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

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

这需要到顶部来为我们所有人节省令人眼花缭乱的阅读变化、矛盾和线程劫持。 SO 需要鼓励使用有效 URL 的简洁答案,这样我们就可以避免 CRUD 并继续我们的工作。 (Quora 有一个简洁的“这个答案是否相关”等,我什至在此之前就建议这样做)\n 很糟糕,官方节点文档没有提到旧的(已失效)选项,并且大多数节点引用似乎是 pre -5.0,让我们的脑袋转一转。

答8:

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

npm install package_x --save

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

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

然后它将保存在 devDependencies 中。

您的答案有什么其他答案尚未涵盖的贡献?

@Pedro A——我怀疑这个人重写了他刚刚读过的东西;然后让他的朋友给他投票。

答9:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

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

npm config set save false

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

npm config get save

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

答10:

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

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

npm install --save

huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。

答11:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

npm i (包名) --save

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

npm 帮助安装

https://i.stack.imgur.com/TIcX8.png

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

原文链接:https://www.huntsbot.com/qa/A8o3/what-is-the-save-option-for-npm-install?lang=zh_CN&from=csdn

一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会

有关npm install 的 --save 选项是什么?的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby - 默认情况下使选项为 false - 2

    这是在Ruby中设置默认值的常用方法:classQuietByDefaultdefinitialize(opts={})@verbose=opts[:verbose]endend这是一个容易落入的陷阱:classVerboseNoMatterWhatdefinitialize(opts={})@verbose=opts[:verbose]||trueendend正确的做法是:classVerboseByDefaultdefinitialize(opts={})@verbose=opts.include?(:verbose)?opts[:verbose]:trueendend编写Verb

  7. ruby-on-rails - rails : save file from URL and save it to Amazon S3 - 2

    从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex

  8. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  9. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  10. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

随机推荐