Npm 更新移除包的规则

阅读数:3455 2016 年 4 月 8 日 19:00

处理完 JavaScript 历史上戏剧性的事件之后,npm 公布了一版新的规则,用于应对用户试图下架包的情况。

新的规则增加如下声明:

  • 版本更新少于 24 小时的包允许下架;
  • 超过 24 小时的包的下架需要联系 npm 维护者;
  • 如果有 npm 维护者参与,npm 将检查是否有其他包依赖该包,如果有则不允下架;
  • 如果某个包的所有版本都被移除,npm 会上传一个空的占位包,以防后来的使用者不小心引用怀有恶意的替代者。

在新规则的详述文档中,npm 提供了不同场景下的几个例子说明新规则如何运作。

回顾最近的left-pad包下架事件,新规则将能阻止作者 Azer Koculu 下架他公布的包,因为这些包的版本超过 24 小时且有很多依赖。

npm 认可有下架包的权利的重要性,但是对于个体来说,对整个社区负责更加重要:

这个特性非常重要和合法,因此我们不会移除它,不过我们现在显著改变了下架包的方法和下架包的规则。这个规则是平衡开发者个人权利和维护开源社区的团结的第一步。

社区的反应各不相同,不过 reddit 上的评论列表记录了新规则对开源社区的的意义。

查看英文原文: Npm Updates Policy on Removing Packages


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论