【问题标题】:NPM Install behaving differently between computersNPM 安装在计算机之间的行为不同
【发布时间】:2016-02-09 16:15:52
【问题描述】:

不知道为什么会这样……一直在谷歌搜索,但我似乎找不到答案。我有 2 个 mac,每个都有一个包含相同 package.json 文件的文件夹,其中包含 20 个依赖项的列表。当我在...上运行“npm install”时

计算机 1: 将所有列出的依赖项安装在它们自己的文件夹中 - 总共 20 个文件夹。

计算机 2: 安装了大量不同的文件夹 - 确切地说是 561 个。这些额外的文件夹似乎是我在 package.json 中列出的主要依赖项的依赖项。

只是好奇为什么会发生这种情况,以及是否有任何方法可以控制 npm 下载和分组依赖项的方式?我很欣赏下载 561 个文件夹的计算机整体文件大小较小……但在某些情况下,我可能需要对分组依赖项进行组织。

谢谢!

【问题讨论】:

    标签: json node.js npm


    【解决方案1】:

    最新版本的 NPM 进行了“更扁平化”的安装,其依赖项的嵌套深度不如早期版本。听起来如果您比较 NPM 版本,您会发现两台计算机上的版本不同。

    这是一篇关于旧方式的文章:

    npm is installing dependencies in a weird recursive way

    并且,更改有关新方式的日志信息:

    https://github.com/npm/npm/blob/master/CHANGELOG.md#flat-flat-flat

    这样做的主要优点之一是共享(而不是复制)多个父模块使用的模块依赖项。在新的扁平化方案中,模块只有一个副本,在多个地方使用,而不是多个副本。

    【讨论】:

    • 啊哈!惊人的!感谢您澄清这一点!
    猜你喜欢
    • 2016-04-09
    • 2014-05-08
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 2019-12-30
    相关资源
    最近更新 更多