1 月 7 日凌晨,NPM 的 Github 出现许多包突然消失的 Issue:
之后网友们纷纷将突然消失的 package 列举了出来:
https://www.npmjs.com/package/infinity-agent
https://www.npmjs.com/package/timed-out
https://www.npmjs.com/package/pinkie-promise
https://www.npmjs.com/package/require-from-string
...
这对大量严重依赖 NPM 的项目无疑是一个重磅炸弹。
官方发布了一系列报告,整理如下(以下均为北京时间):
2018/1/7 03:45
包含 "require-from-string" 的几个 package 当前不可用。我们意识到这个问题,正在努力恢复。请不要尝试重新发布 package,因为这会阻碍我们恢复 package 的进度。
2018/1/7 04:12
大部分被删除的 package 已经被恢复,这些 package 应该能够被安装成功。还剩 9 个 package 还在恢复过程中。
2018/1/7 05:58
我们已经恢复剩下的 9 个 package 的所有版本。我们正在审查这些数据,以确保我们已经删除了在恢复的时间窗口发布的所有无效版本。您现在应该可以正常安装这些 package 了。
2018/1/7 06:35
我们认为所有工作都已经完成,所有的 package 都恢复到事件发生前的状态。
2018/1/7 07:14
我们对暂时无法使用某些 package 表示非常抱歉。我们过几天将会发布一个详细的报告。
这次事件虽然慢慢平息,但却有很多东西值得我们去思考。我们绝大多数的前端项目都严重依赖 NPM,如果哪一天不是 106 个包消失,而是更多的包怎么办?这次庆幸所有包都能很快恢复,如果不能恢复又怎么办?集中式的管理经常因为中心的错误迅速波及周边,那分布式是不是更好的解决方案呢?欢迎留言谈谈你的想法。
领取专属 10元无门槛券
私享最新 技术干货