ChatGPT解决这个技术问题 Extra ChatGPT

-save-dev 在 npm install grunt --save-dev 中是什么意思

我刚刚开始使用 Grunt.js。设置起来非常困难,我正在创建一个 package.json 文件。

在此 tutorial 之后,它表示有 3 种方法可以创建 package.json 文件。

首先是做npm install grunt --save-dev

但是 --save-dev 是什么意思?我试着寻找,但结果是徒劳的。

我想我设法找到了一些答案。 gruntjs.com/getting-started - npmjs.org/doc/json.html#devDependencies
教程链接坏了

S
Sam

--save-dev:包将出现在你的 devDependencies 中。

根据npm install docs

如果有人计划在他们的程序中下载和使用您的模块,那么他们可能不想或不需要下载和构建您使用的外部测试或文档框架。

换句话说,当您运行 npm install 时,将安装项目的 devDependencies,但不会安装您的应用所依赖的任何包的 devDependencies;此外,将您的应用程序作为依赖项的其他应用程序不需要安装您的 devDependencies。只有在开发应用程序时才需要这样的模块(例如 grunt、mocha 等)。

根据 package.json docs

编辑:尝试可视化 npm install 的作用:

yourproject 依赖项已安装依赖项已安装依赖项已安装 devDependency 未安装 devDependency 未安装 devDependency 已安装依赖项已安装 devDependency 未安装

已安装依赖项 已安装依赖项已安装 devDependency 未安装 devDependency 未安装

已安装依赖项 已安装依赖项 devDependency 未安装

已安装依赖项

未安装 devDependency

未安装 devDependency

devDependency 已安装依赖项已安装 devDependency 未安装

已安装依赖项

未安装 devDependency


默认情况下,它不会安装开发依赖项,但我如何安装呢? npm install --dev 标志?
@stanzheng 我不确定你需要知道什么。如果您在一个项目中并运行 npm install,那么该项目的 devDependencies 也将被安装。您不希望安装依赖项的 devDependencies。如果您想在 npm 包上进行开发,您需要 git clone xxx 该项目,并在其中运行 npm install
“运行 npm install 时不会安装应用程序依赖项的 devDependencies”不正确。如果我有一个 package.json 并且它只包含我的 npm 包的“devDependencies”,然后我输入“npm install”,那些“devDependencies”就会安装。
我试图理解,但我没有。然后我试图理解可视化,但我没有。每个要点项目是什么意思?一个文件夹?删除线项目是什么意思?一个不存在的目录?如果这是真的,你怎么能详尽地列出不存在的东西呢?
澄清一下,如果在您的项目中运行 npm install,则会安装 package.json 中的所有 devDependencies,但是如果您将项目打包为新的 npm 包并发布它,当其他人使用 npm install 安装您的包时,devDependencies不会安装在他们的系统上。那正确吗? @stanzheng 或者您可以运行 npm install --production 来安装 package.json 中的所有内容,除了开发依赖项
S
Sumner Evans

您可以在 package.json 文件中指出(至少)两种类型的包依赖项:

使用您的模块所需的那些包列在“依赖项”属性下。使用 npm,您可以通过以下方式将这些依赖项添加到您的 package.json 文件中: npm install --save packageName 帮助开发您的模块所需的那些包列在“devDependencies”属性下。这些包对于其他人使用该模块不是必需的,但如果他们想帮助开发该模块,则需要这些包。使用 npm,您可以通过这种方式将这些 devDependencies 添加到您的 package.json 文件中: npm install --save-dev packageName


J
Jean-François Fabre

要添加到 Andreas 的答案,您可以使用以下方法仅安装依赖项:

npm install --production

S
Sathesh

当您使用参数“--save”时,您的依赖项将进入 package.json 中下面的 #1。当您使用参数“--save-dev”时,您的依赖项将进入 package.json 下面的#2。

#1。 “依赖项”:您的应用程序在生产中需要这些包。

#2。 “devDependencies”:这些包仅用于开发和测试


这是英语中最清楚最简单的解释。
N
Niko Kovacevic

可以在此处找到来自 npm 的 npm install <package-name> --savenpm install <package-name> --save-dev 文档:

https://docs.npmjs.com/getting-started/using-a-package.json#the-save-and-save-dev-install-flags

package.json 文件声明有关您正在开发的模块的元数据。上述两个命令都会修改此 package.json 文件。 --save 将已安装的包(在本例中为 grunt)声明为您的模块的依赖项; --save-dev 将其声明为开发模块的依赖项。

问问自己:使用我的模块是否需要安装的包,还是只需要开发它?


A
Anna Klein

对我来说,第一个答案似乎有点令人困惑,所以要简短明了:

npm install <package_name>默认将任何指定的包保存到依赖项中。此外,您可以使用一些额外的标志来控制它们的保存位置和方式:

npm install <package_name> --no-save 防止保存到依赖项。

npm install <package_name> ---save-dev 更新包中的 devDependencies。这些仅用于本地测试和开发。

您可以在 in the dcu 阅读更多信息


B
BenKoshy

仅在开发时使用

--save-dev 表示在生产环境中省略,仅在开发环境中使用(更小,可能更快)。


P
Partha Kumar Bagchi

-节省

安装的包是核心依赖。

--保存开发

安装的包不是核心,而是开发依赖。