You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Renovate阻止依赖更新至-SNAPSHOT版本?

Renovate跳过SNAPSHOT版本的正确配置方案

核心问题分析

你之前的配置无效,主要是两个原因:正则大小写不匹配,以及JSON中反斜杠的转义处理不到位。Renovate使用JavaScript风格的正则,默认区分大小写,你的规则!/\-snapshot$/只能匹配小写的snapshot,但目标版本是大写的SNAPSHOT,自然不会生效。

正确配置示例

1. 精确匹配单个包(org.spockframework:spock-core)

直接指定包名,正则明确匹配大写结尾的SNAPSHOT:

{
  "packageRules": [
    {
      "matchPackageNames": ["org.spockframework:spock-core"],
      "allowedVersions": "!/\\-SNAPSHOT$/"
    }
  ]
}

注意:JSON中反斜杠需要双转义,所以写成\\-。

2. 匹配同前缀的所有包

如果要对org.spockframework下的所有包生效,可以用前缀匹配,同时开启正则不区分大小写(/i标记),兼容各种大小写的SNAPSHOT写法:

{
  "packageRules": [
    {
      "matchPackagePrefixes": ["org.spockframework:"],
      "allowedVersions": "!/\\-snapshot$/i"
    }
  ]
}

关键规则说明

  • 正则是否需要全匹配? 不需要。只要正则能定位到版本中要排除的特征即可,这里用$锚定版本结尾,确保只排除以SNAPSHOT结尾的版本。
  • 是否区分大小写? 默认区分。如果需要兼容大小写,在正则末尾加/i标记即可。
  • 配置生效验证:可以在Renovate的日志中查看包匹配情况,或者手动用在线正则工具测试规则是否能命中目标版本。

内容的提问来源于stack exchange,提问作者Mr. Gung

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 07:25:19