当前位置: 首页 > 面试题库 >

NPM安装在计算机之间的行为有所不同

朱岳
2023-03-14
问题内容

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

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

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

只是好奇为什么会发生这种情况,以及是否有办法控制npm下载和分组依赖项的方式?我感谢计算机下载561个文件夹时使用的整体文件较小,但是在某些情况下,我需要组织分组的依赖项。

谢谢!


问题答案:

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

这是有关旧方法的文章:

npm以一种奇怪的递归方式安装依赖项

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

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

这样做的主要优点之一是可以共享(而不是重复)一个以上的父模块所使用的模块依赖性。在新的平面方案中,只有一个以上的模块副本用于多个地方,而不是多个副本。



 类似资料:
  • 我已经在谷歌上搜索过了,但还是不清楚。请分享你的想法。

  • 问题内容: 我有一个带有StartDate列的表,我想计算两个连续记录之间的时间差。 谢谢。 @ Mark Byers和@ Yahia,我将请求表作为requestId,startdate 我想知道requestid 1和2、2和3、3和4等之间的时差是多少。我知道我需要在表上进行自我连接,但是我在子句上没有得到正确的支持。 问题答案: 要实现您的要求,请尝试以下操作(从OP编辑后进行更新): 如

  • 我一直在计算机上从事laravel5项目,但现在我想继续另一个项目,但不知道如何:( 我使用的是wampserver,项目位于“www”文件夹中,这是我在尝试打开项目时遇到的错误:“内部服务器错误” 服务器遇到内部错误或配置错误,无法完成您的请求“

  • 问题内容: 我有一个Ubuntu VM,无法通过ssl(即https)连接到站点。如果URL以http开头,它可以从Internet成功下载工件。 npm install将通过https下载依赖项。反正有通过http下载吗? 问题答案: 尝试使用以下命令将注册表更改为http版本,而不是默认的https版本

  • 问题内容: 我有一个数据集,其中包含工人及其年龄,性别,地址等人口统计信息及其工作地点。我从数据集创建了一个RDD,并将其转换为DataFrame。 每个ID有多个条目。因此,我创建了一个DataFrame,其中仅包含工人的ID和他/她工作过的各个办公室位置。 我想根据他们的办公地点来计算每个工人与其他每个工人之间的余弦相似度。 因此,我遍历了DataFrame的各行,从DataFrame检索了一

  • 本文向大家介绍计算机体系结构和计算机组织之间的差异。,包括了计算机体系结构和计算机组织之间的差异。的使用技巧和注意事项,需要的朋友参考一下 计算机架构 计算机体系结构是用于计算机系统设计和实现的蓝图。它提供了计算机系统的功能详细信息和行为,并且在计算机组织之前就已经存在。计算机体系结构处理“该怎么办?” 电脑组织 计算机组织是计算机系统的操作部分如何链接在一起的方式。它实现了所提供的计算机体系结构