为啥 gulp 需要安装 --save-dev 而不仅仅是 --save

Posted

技术标签:

【中文标题】为啥 gulp 需要安装 --save-dev 而不仅仅是 --save【英文标题】:Why does gulp need to be installed with --save-dev and not just --save为什么 gulp 需要安装 --save-dev 而不仅仅是 --save 【发布时间】:2016-02-15 19:17:10 【问题描述】:

从文档中, https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md

$ npm install --save-dev gulp

到目前为止,我使用的所有 npm 模块都是使用 $ npm install --save <module_name> 安装的

为什么 --save-dev 用于 gulp 而不仅仅是 --save--save-dev--save有什么区别?

【问题讨论】:

请问为什么投反对票?这个问题有什么问题? 我猜是因为:***.com/questions/27897038/why-need-npm-save-dev 看看***.com/questions/19223051/… 我相信有人(很可能)否决了您的问题,因为该问题已经存在(有答案)并且在发布此问题之前没有进行足够的研究。这是我的猜测 我的问题是为什么不只是 --save?有些不同。 【参考方案1】:

--save 将包添加到您的依赖项列表(package.json 中的“依赖项”)。这是您的包运行所需的依赖项列表。这些是当用户从 npm 安装你的包并打算使用它时需要安装的依赖项。

--save-dev 将包添加到您的开发者依赖项列表(package.json 中的“devDependencies”)。这是您仅用于开发包所需的依赖项列表。例如 babel、gulp、测试框架等。

有关详细信息,请查看与此问题相关的前两个问题:

Grunt.js: What does -save-dev mean in npm install grunt --save-dev What is difference between --save and --save-dev?

【讨论】:

【参考方案2】:

这是一个重复的问题。答案可以在这里找到。 Grunt.js: What does -save-dev mean in npm install grunt --save-dev

从其他链接复制。


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

1) 使用您的模块所需的那些包列在“依赖项”属性下。使用 npm,您可以通过这种方式将这些依赖项添加到您的 package.json 文件中:

npm install --save packageName

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

npm install --save-dev packageName

【讨论】:

以上是关于为啥 gulp 需要安装 --save-dev 而不仅仅是 --save的主要内容,如果未能解决你的问题,请参考以下文章

学写网站前端配置之glup

gulp使用

gulp教程gulp-less安装

Gulp 学习总结

gulp

为啥我们需要在全局和本地安装 gulp?