假设我们发布了一个NPM程序包,该程序包最终有一个错误,说它是版本1.0.056
。
是否有一种方法可以告诉NPM将其列入黑名单,这意味着用户是否在package.json中拥有它:
^1.0.05
是否会尝试仅安装1.0.057
或1.0.055
?
这个想法是,当您修补错误时,如果它不影响任何公开的API,那么没有太多理由进行重大更改吗?或者,也许另一方面,一个重要的错误修正应该要求对版本进行较小的更改?
很明显,NPM不会鼓励人们删除软件包,我们希望保持不变性,但是除非用户明确要求该版本,否则我希望NPM避免不惜一切代价安装它?
答案 0 :(得分:3)
npm deprecate涵盖了历史版本,以后您发现问题时会出现:
npm deprecate <pkg>[@<version>] <message>
此命令将更新软件包的npm注册表项,向所有尝试安装该软件包的人提供弃用警告。
如果只是刚刚发布(72小时),那么还有:
npm unpublish [<@scope>/]<pkg>[@<version>]
这将从注册表中删除软件包版本,删除其条目并删除压缩包。