我刚开始使用Grunt.js。设置非常困难,我正在创建一个package.json
文件。
关注此tutorial后,它表示有3种方法可以创建package.json
文件。
首先是做npm install grunt --save-dev
但是--save-dev
意味着什么?我试过看但却以徒劳的方式结束。
答案 0 :(得分:303)
- save-dev:包将出现在您的devDependencies中。
如果有人计划在他们的程序中下载和使用您的模块,那么他们可能不希望或不需要下载和构建您使用的外部测试或文档框架。
换句话说,当您运行npm install
时,将安装项目的devDependencies,但不会安装您的应用所依赖的任何软件包的devDependencies;此外,将您的应用程序作为依赖项的其他应用程序无需安装您的devDependencies。只有在开发应用程序时才需要这样的模块(例如grunt,mocha等)。
npm install
的作用:答案 1 :(得分:92)
您可以在package.json文件中指出(至少)两种类型的包依赖项:
使用模块所需的那些软件包列在"依赖项"属性。使用npm,您可以通过以下方式将这些依赖项添加到package.json文件中:
npm install --save packageName
为帮助开发您的模块所需的那些软件包列在" devDependencies"属性。其他人不需要这些软件包来使用该模块,但如果他们想要帮助开发模块,则需要这些软件包。使用npm,您可以通过以下方式将这些devDependencies添加到package.json文件中:
npm install --save-dev packageName
答案 2 :(得分:32)
要添加到Andreas的答案,您可以使用以下方法仅安装依赖项:
npm install --production
答案 3 :(得分:6)
npm install <package-name> --save
和npm install <package-name> --save-dev
的npm文档可在此处找到:
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
会将其声明为模块开发的依赖项。
问问自己:使用我的模块需要安装的软件包,还是仅需要开发它?
答案 4 :(得分:3)
当您使用参数&#34; - save&#34;你的依赖将进入package.json中的#1。当您使用参数&#34; - save-dev&#34;你的依赖将进入package.json中的#2。
1)&#34;依赖关系&#34;:您的应用程序在生产中需要这些包。
2)&#34; devDependencies&#34;:这些包仅用于开发和测试
答案 5 :(得分:1)
对我来说,第一个答案似乎有点令人困惑,因此请简短明了:
npm install <package_name>
通过默认将任何指定的程序包保存到依赖项中。此外,您还可以使用一些其他标志来控制保存它们的位置和方式:
npm install <package_name> --no-save
防止保存到依赖项。
npm install <package_name> ---save-dev
更新包中的devDependencies
。这些仅用于本地测试和开发。
您可以在in the dcu
阅读更多内容答案 6 :(得分:0)
答案 7 :(得分:0)
–保存
安装的包是核心依赖。
–save-dev
安装的包不是核心而是开发依赖。