是否可以在项目或机器配置中将NPM软件包版本列入黑名单?

时间:2018-02-23 10:59:50

标签: npm semantic-versioning

鉴于news that npm 5.7.0在制作过程中遇到了一些问题,我想知道是否可以在package.json或机器级别将列表版本列入黑名单,可能在{{ 1}}或.npmrc

我期待的行为是升级是可能的,因此这不是固定的semver版本。 SemVer故意避免定义版本跳过in the spec因为,

  

SemVer用于表示发生了哪种类型的更改,而不是   '多少'发生了变化。如果用户想知道细节   有多少变化,他们应该看看变更日志。很久了   changelog告诉他们这是一次重大更新。

但作为一名用户,我事先可能知道从不想要此版本。例如,永远不要使用5.7.0但5.7.1就可以了。

1 个答案:

答案 0 :(得分:1)

如果您的包A依赖于B而B具有已知的错误版本,则可以定义其中包含孔的版本范围。见https://docs.npmjs.com/misc/semver的最后一段。我不知道有什么办法在你的系统上全局黑名单这样的版本,所以如果你安装A并且它对B的依赖没有版本漏洞,你可能会得到坏版本,但是在上面的例子中,由于有关缺陷的消息被发布,违规版本已从发布中删除。

您可以做的一件事是清除任何错误软件包版本的缓存,以确保它们不能用于解决依赖关系。