📦
ツール・インターネット サプライチェーン・品質管理の破綻 2016 - 2016

npm 撤销依赖事件 (left-pad):为什么一个小到只有十几行的包被删掉,会让大量项目当场构建失败?

在依赖树里,包的大小和它的影响范围没有关系

npm 撤销依赖事件 (left-pad):巅峰期全球最大的开源包管理平台,承载数百万个软件包,是前端与后端 JavaScript 生态的基础分发设施,几乎所有相关项目都依赖它;终局是一名开发者撤回自己发布的多个包,导致大量知名项目在构建时失败,整个生态在数小时内陷入连锁中断,平台随后紧急恢复并调整撤销规则。

失敗の法則を見る
この事例の日本語訳は未登録のため原文を表示しています。
ピーク評価額

全球最大的开源包管理平台,承载数百万个软件包,是前端与后端 JavaScript 生态的基础分发设施,几乎所有相关项目都依赖它

最終損失

一名开发者撤回自己发布的多个包,导致大量知名项目在构建时失败,整个生态在数小时内陷入连锁中断,平台随后紧急恢复并调整撤销规则

原因投票

4,800 票が参加

コミュニティ成果

1 プラン · 1 知見

PR
把你亲历的失败写进来

投稿会先进入待审,通过后才进入公开目录和站点地图。

根本的敗因の国民的公投

企業の命運を決定づけた致命的死穴に投票してください。

产品技术

平台允许随时撤销已发布版本

已在生产环境中被广泛依赖的版本可以被单方面删除,缺少稳定性保证

1,579 票 (33%)
组织管理

依赖关系多为隐式且未锁定

项目未固定依赖版本,上游任何变动都会直接进入构建流程

1,326 票 (28%)
战略

关键依赖的集中度缺少评估

大量项目间接依赖同一个小包,风险高度集中却无人统计

1,074 票 (22%)
外部合规

开源维护关系缺少基本约定

发布者与使用者之间没有关于「已发布版本不可撤回」的规则共识

821 票 (17%)