我的理解是:
npm install //Installs everything that is listed in package.json
npm install --production //install everything minus dev packages
npm install $package --save //installs and add it to package.json
npm install $package --dev //install and add it to package.json but under dev
npm install --save-dev //??? isn't same thing as --dev flag
也许没有
之类的东西npm install $package --dev
答案 0 :(得分:4)
引自the npm install
documentation:
npm install需要3个独有的可选标志来保存或更新 主package.json中的包版本:
-S, - save:包将出现在您的依赖项中。
-D, - save-dev:包将出现在你的devDependencies中。
-O, - save-optional:包将出现在您的optionalDependencies中。
所以似乎没有npm install $package --dev
答案 1 :(得分:2)
在各种论坛上以及通过npm安装组件的许多文档中发现的许多互联网答案中都提到了--save
。
事实证明,如果你没有使用-g标志,那么你将--save作为默认值(现在是--save-prod
或-P
)。所以以下都是一样的:
npm i blabla
npm install blabla
npm i blabla --save
npm install blabla
npm i blabla --save-prod
npm install blabla -P
这个命令的作用是twosome。
blabla
包及其所有依赖项。安装位置位于node modules
文件夹中的项目下。 dependencies
的部分中标记了此包。因此,下次执行npm install
或yarn install
时,将根据此列表安装所有正确的软件包。 预计全局程序包将安装在用户的node_modules
文件夹中,以用于全局程序包。您安装的全局程序包未在项目中的任何位置列出。见下一节。
以下是彼此相同的,但这次他们不会将他们正在做的事情写入package.json文件,而是工作,因为他们是"在路径":
npm i -g blabla
npm i blabla -g
npm i blabla --save-global
如上所述,如果缺少或需要升级,请安装blabla
及其所有依赖项,但不要在package.json
文件中写入任何内容。
最后但并非最不重要的是dev
选项。以下都是等效的
npm i -d blabla
npm i blabla -d
npm install blabla --save-dev
npm install blabla --d
执行以下操作:
它会将blabla和所有依赖项安装到名为node modules
的项目下的文件夹中。以及
它在package.json 中列出了blabla
包和blabla需要的任何其他包,但这一次在一个名为Dev-Dependencies的特殊部分下。
然后你可以运行npm i
(或yan i),现在它取决于你。如果您作为开发人员打包,一切都会像往常一样安装。 (在project.json
中无需编写任何内容,因为我们只是准确地从列表中读取所有内容!!)
但是,如果你为生产安装(不是这个答案范围的一部分,怎么做),所有的Dev软件包都不会安装。它们只是你想要开发阶段的东西,比如Linters读取并检查你的代码是否有错误。