ChatGPT解决这个技术问题 Extra ChatGPT

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

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

npm install --save

--save 选项是什么意思?

@Tom- --save: Package will appear in your dependencies.
您可以使用快捷方式 -S 和 -D 那里 -S 是 --save 和 -D 是 '--save-dev。 --save(或简单的-S):包将出现在您的依赖项中。 --save-dev(或简单的 -D):包将出现在您的 devDependencies 中。
@WiredPrairie 谢谢我在尝试 npm install (--help | -h | -help ..) 并没有。
谢谢@Dmitri,我有同样的问题。来吧 NPM 将它添加到您的工具的 MAN 页面
我不理解决定从文档和帮助页面中删除甚至只是提及此选项而不弃用它的理由,至少在工具本身带有警告。同时,新手通过无数的教程接触到它。然后他们试图找出它的作用,并且不得不浪费 20 分钟阅读文档,最终在 stackoverflow 上阅读 npm 历史记录。奇怪的是,防止这种大量的时间浪费(如果问题的受欢迎程度有任何迹象的话)是文档的目的之一。

v
voithos

更新 npm 5:

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

原答案:

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

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

此外,还有补充选项 --save-dev--save-optional,它们分别将包保存在 devDependenciesoptionalDependencies 下。这在安装仅限开发的包时很有用,例如 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'
H
Henke

从 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 用于日志级别信息,它们都是有效的快捷方式。
t
temporary_user_name

从 npm 5 开始更新:

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

原答案:

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


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

根据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 版本。
J
Jim O'Brien

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

x
xgqfrms

npm v6.x 更新

现在您可以使用 npm inpm i -Snpm 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 <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 -hi

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

参考

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

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


t
themefield

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


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

npm install package_x --save

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

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

然后它将保存在 devDependencies 中。


您的答案有什么其他答案尚未涵盖的贡献?
@Pedro A——我怀疑这个人重写了他刚刚读过的东西;然后让他的朋友给他投票。
r
rajesh kumar

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

npm config set save false

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

npm config get save

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


J
Joundill

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

npm install --save

N
Nitin .

npm i (包名) --save

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

npm 帮助安装

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


S
Sunny Goel

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

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

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

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

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


R
Rubin bhandari

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


S
Samuel Reyes

当您在 npm 命令中使用 --save 来安装包时,这意味着您的项目将在生产环境中安装该依赖项,例如,如果您安装一个库来管理日期。

npm install moment --save 
npm i moment -S (same result)

(这是用于生产环境)

npm install moment --save--dev 
npm i moment -D (same result)

(这是为了开发环境)