【问题标题】:why does npm install dependences that are not listed in my package.json file?为什么 npm 安装未在我的 package.json 文件中列出的依赖项?
【发布时间】:2015-12-17 08:12:51
【问题描述】:

我找不到这个问题的答案。

tl;dr... 在开始一个新的 Node/Express 项目之前,我刚刚运行了npm update npm -g。当我为这个项目运行npm install 时,npm 会安装大量未在我的 package.json 文件夹中列出的新依赖项。我以前从未见过很多这样的东西。

这里发生了什么——为什么 npm 安装所有这些依赖项,我该如何解决这个问题?

我什至在上周的一个旧项目上测试了npm install,它的行为相似。

ps - 有人提到即使依赖项也需要依赖项。像这样? http://puu.sh/ki1GW/cfead489ef.png

【问题讨论】:

标签: dependency-injection npm package


【解决方案1】:

这里已经回答了:Too many npm modules are installed after execute “npm install”,但基本上没有错。不熟悉的包是你的包的依赖。 以前,它们嵌套在包的文件夹中,因此经常被忽视。从 NPM 版本 3.0.0 开始,它们不再被嵌套。

来自 NPM 3.0.0 发行说明:

您的依赖项现在将安装到最大平面。在可能的情况下,您的所有依赖项及其依赖项以及它们的依赖项都将安装在项目的 node_modules 文件夹中,没有嵌套。只有当两个(或更多)模块具有冲突的依赖关系时,您才会看到相互嵌套的模块。

【讨论】:

    【解决方案2】:

    是的,这些是您的依赖项的依赖项。把它想象成一个树结构,你的项目是根节点。树中的所有内容都需要下载。

    【讨论】:

      猜你喜欢
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2017-04-18
      • 2016-03-14
      • 2021-08-28
      • 1970-01-01
      • 2021-12-04
      • 2017-09-30
      相关资源
      最近更新 更多