【问题标题】:npm not installing the dependencies of top level dependenciesnpm 未安装顶级依赖项的依赖项
【发布时间】:2015-11-30 16:58:37
【问题描述】:

据我所见,当使用 npm 在项目中安装诸如 BackboneJS 之类的顶级依赖项时,它会附带 Backbone(或任何其他模块)所需的其他几个硬或软依赖项。我的印象是,这些硬依赖和软依赖将递归地安装到一个单独的 node_modules 目录中,在这种特定情况下,是顶级 Backbone 目录。

例如,主干对下划线有很强的依赖性。我希望下划线是主骨干文件中的子目录,但下划线安装在主目录节点模块文件中的侧骨干上。

我在包管理和集成多个 JS 模块方面仍然非常不确定,所以我不确定这是否重要,但我觉得它确实重要。我目前正在关注 O'reillys “使用 Backbone.js 进行全栈 Web 开发”一书,该示例显示了带有下划线的文档树作为主干的子目录。

如果有人可以澄清这是否真的是一个问题,或者是否有解决方法,将不胜感激。

【问题讨论】:

    标签: javascript node.js backbone.js


    【解决方案1】:

    这根本不是问题。这就是 npm 的工作方式。所有依赖项(甚至是您的依赖项的依赖项)都安装在同一级别。但是当你使用require('module'); 时,NodeJS 会知道在哪里搜索它,这样 Backbone 就可以毫无问题地找到下划线。

    【讨论】:

      【解决方案2】:

      您可能已经安装了 NPM 版本 3.0.0+

      Earlier this year 他们引入了 Flat 依赖结构作为标准以及许多更方便的功能。虽然与旧项目的兼容性存在一些问题,但我想您可以继续学习您的教程。

      如果问题确实出现了,您有两个选择:

      1. 浏览与此更改有关的 NPM 和 Backbone 问题。
      2. 使用版本管理器(例如 NVM)安装较早版本的 Node 和 NPM。

      【讨论】:

        猜你喜欢
        • 2016-03-14
        • 2017-09-30
        • 2015-01-24
        • 2020-05-13
        • 1970-01-01
        • 2019-12-03
        • 1970-01-01
        • 2016-08-21
        • 2020-12-28
        相关资源
        最近更新 更多