相关推荐recommended
npm install 的 --save 选项是什么?
作者:mmseoamin日期:2024-02-20

问:

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

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 <> --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提供了这个机会