npm express install正在添加额外的依赖项

时间:2016-02-10 16:04:52

标签: node.js express npm-install

当我进入我的项目和npm install express时 - 保存它不仅会将express注入我的node_modules,还会安装许多其他我不需要或不需要的依赖项。我试图卸载并重新安装node和npm。我正在使用自制软件来安装节点。有人能帮助我理解为什么会这样吗?

  

npm install express --save

 ─┬ express@4.13.4 
  ├─┬ accepts@1.2.13 
  │ ├─┬ mime-types@2.1.9 
  │ │ └── mime-db@1.21.0 
  │ └── negotiator@0.5.3 
  ├── array-flatten@1.1.1 
  ├── content-disposition@0.5.1 
  ├── content-type@1.0.1 
  ├── cookie@0.1.5 
  ├── cookie-signature@1.0.6 
  ├─┬ debug@2.2.0 
  │ └── ms@0.7.1 
  ├── depd@1.1.0 
  ├── escape-html@1.0.3 
  ├── etag@1.7.0 
  ├─┬ finalhandler@0.4.1 
  │ └── unpipe@1.0.0 
  ├── fresh@0.3.0 
  ├── merge-descriptors@1.0.1 
  ├── methods@1.1.2 
  ├─┬ on-finished@2.3.0 
  │ └── ee-first@1.1.1 
  ├── parseurl@1.3.1 
  ├── path-to-regexp@0.1.7 
  ├─┬ proxy-addr@1.0.10 
  │ ├── forwarded@0.1.0 
  │ └── ipaddr.js@1.0.5 
  ├── qs@4.0.0 
  ├── range-parser@1.0.3 
  ├─┬ send@0.13.1 
  │ ├── destroy@1.0.4 
  │ ├─┬ http-errors@1.3.1 
  │ │ └── inherits@2.0.1 
  │ ├── mime@1.3.4 
  │ └── statuses@1.2.1 
  ├── serve-static@1.10.2 
  ├─┬ type-is@1.6.11 
  │ └── media-typer@0.3.0 
  ├── utils-merge@1.0.0 
  └── vary@1.0.1 

2 个答案:

答案 0 :(得分:2)

您可能正在运行npm版本3或更高版本。这个版本使得所有依赖项的依赖项都存储在根node_modules文件夹中。

有关详细信息,请参阅此处:https://github.com/npm/npm/releases/tag/v3.0.0

  

您的依赖项现在将最大程度地安装。在可能的情况下,所有依赖项及其依赖项和它们的依赖项都将安装在项目的node_modules文件夹中,而不进行嵌套。当两个(或更多)模块具有冲突的依赖关系时,您将只看到彼此嵌套的模块。

答案 1 :(得分:0)

这是正常的,您尝试安装的模块必须具有自己的依赖项才能正常工作,因此它们会在您的node_modules中同时安装