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

如何用jq提取各Node.js主版本的最新发布版本?

提取Node.js指定主版本的最新发布版本(无需额外Shell脚本)

当然有更便捷的办法,完全不用额外写Shell包装脚本——用jq本身就能直接搞定这个需求!我们可以通过对GitHub API返回的标签数据进行过滤、分组和提取,一步得到你想要的结果。

完整命令

export repo='nodejs/node'
curl -s https://api.github.com/repos/${repo}/tags | jq -r '
  .[] | select(.name | test("^v(8|9|10)\\.")) |
  {major: .name | capture("^v(\\d+)\\.").major, name: .name} |
  group_by(.major) | map(.[0].name) |
  join(" ")
'

命令逻辑拆解

我们来一步步看这个jq脚本的作用:

  • 过滤目标版本:select(.name | test("^v(8|9|10)\\.")) 只保留以v8.、v9.、v10.开头的标签,精准锁定你需要的主版本范围。
  • 提取主版本标识:capture("^v(\\d+)\\.") 从版本名称中提取主版本号(比如从v10.1.0中提取10),为后续分组做准备。
  • 按主版本分组:group_by(.major) 将同一主版本的所有标签归为一组,方便我们单独处理每个主版本的最新版。
  • 提取每组最新版本:map(.[0].name) 由于GitHub API返回的标签是按发布时间倒序排列的,每组的第一个元素就是该主版本的最新发布版本。
  • 格式化输出:join(" ") 将结果用空格连接成一行,完全匹配你预期的输出格式。

预期输出

运行上述命令后,你会得到类似这样的结果(版本号会随Node.js官方更新而变化):

v10.1.0 v9.11.1 v8.11.2

内容的提问来源于stack exchange,提问作者Bill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:15:21