NPM注册表是否保留每个软件包的副本?

时间:2018-09-16 19:42:21

标签: npm

当我使用NPM安装软件包时,该软件包的确切来源是什么?我知道有一个NPM注册表,但是我不完全了解它的作用。它会保留每个已注册软件包的实际代码,还是只保存有关每个已注册软件包的元数据以及对每个软件包的代码的引用,例如Github url等。我可以看到参考方法的潜在问题。想象一下,一个严重依赖软件包的文件已从Github中删除。如果世界各地的开发团队由于缺少一个依赖项而无法构建他们的项目,这将导致很多问题。如果注册表保留该软件包的副本会更有意义,但是我不确定这是如何工作的。有人可以确认吗?

例如例如,当我查询https://registry.npmjs.org/babel时,我得到一个返回的JSON对象,描述了该软件包,但在那里看不到任何实际babel软件包的代码。仅引用Github上发布的各种版本。这让我感到担心,因为作者可能会出于任何原因随时删除该回购协议。我想了解npm注册表的行为,因此我可以知道是否需要为我的团队创建依赖项缓存,以防万一某个依赖项被意外删除。

0 个答案:

没有答案