如何在Nix Flakes中查询软件包(如jq)的所有版本信息?
查询Nix Flakes中软件包的所有版本(以jq为例)
方法1:通过Git直接追踪nixpkgs历史
- 克隆nixpkgs仓库(已克隆可跳过):
git clone https://github.com/NixOS/nixpkgs.git cd nixpkgs
- 执行命令获取jq版本变更的所有Git提交记录:
git log --oneline --grep='jq.*version' pkgs/development/tools/jq/default.nix
提取输出里的版本号和Git修订号后,可整理为你需要的格式:
From the channel github:NixOS/nixpkgs:
• Version 1.7 was included in git revision abc1234
• Version 1.6 was included in git revision def5678
• Version 1.5 was included in git revision ghi9012
• ...
- 验证某提交对应的版本,可运行:
nix eval github:NixOS/nixpkgs/<git-revision>#jq.version
将<git-revision>替换为具体的提交哈希前缀即可。
方法2:用nix-history工具快速查询
通过Flakes直接运行专用工具,无需提前安装:
nix run github:Mic92/nix-history -- jq
工具会自动输出jq在nixpkgs中的所有版本及对应Git提交记录,格式与你期望的完全匹配。
内容的提问来源于stack exchange,提问作者Stav Alfi
相关产品推荐
相关产品推荐

