npm install 是否排除开发依赖项?

Gol*_*den 5 node.js npm

当我在 Node.js 项目中运行时npm install,npm 会安装依赖项和开发依赖项。如果我不想安装开发依赖项,我可以运行npm install --production.

问题 1:如果我提供--production:是否也安装了依赖项的 dev 依赖项,还是仅安装了它们的实际依赖项?


现在,如果我在一个 Node.js 项目中并安装一个新的依赖项,例如:

npm install foo
Run Code Online (Sandbox Code Playgroud)

foo当然,这会安装的依赖项。

问题 2:但是它的开发依赖关系呢?它们是否也安装了,还是被跳过了?

AJS*_*AJS 5

回答您的问题:

  1. 是的 dev 依赖项将npm install仅以它不会安装 dev 依赖项的方式安装是什么时候NODE_ENV设置为production
  2. 不会安装外部模块的任何开发依赖项,请参见此处


小智 2

默认情况下运行 npm install 时,还会安装依赖项和 devDependency 依赖项。因为如果有一次要开发一个包,我们会从 git 下载它并转到根文件夹并运行。

npm install 
Run Code Online (Sandbox Code Playgroud)

所以你会期望有 devDependency 。

npm install "$package"
Run Code Online (Sandbox Code Playgroud)

默认情况下不安装 devDependency。但如果你确实想在这种情况下安装开发包,你可以将 dev 配置选项设置为 true:

npm install "$package" --dev
Run Code Online (Sandbox Code Playgroud)