cabal - Cabal & Stack 从哪里获取 Hackage 包?
问题描述
我有兴趣为 Hackage 创建一个工具,包括分析 Hackage 包之间的各种依赖关系。我认为这将涉及下载和同步所有 Hackage 包源的镜像,特别是 *.cabal 文件,我可以在这些文件上运行我想到的各种分析。
如何访问 cabal 和 stack 获取包的相同存储库?是否有 cabal 和 stack 用于获取我的程序可以类似插入的包的 API?
解决方案
我目前正在开发一个可以轻松(或至少更轻松地)访问此元数据的库。但是从 Hackage 获取所有包的元数据的基本规则是:
- 下载 01-index.tar.gz 文件:https ://hackage.haskell.org/01-index.tar.gz
- 解析其中
.cabal
的每个文件
请注意,由于 Hackage 的修订,可能有多个 cabal 文件具有相同的名称/版本组合(称为包标识符)。
推荐阅读
- flutter - 切换到类后 Flutter 变量不断被初始化
- azure - 如何从 azure devops 构建服务器中清理 docker 映像
- python - Python 时间序列:计算 30 分钟时间窗口内同时发生的次数
- c# - 如何为此 sql 语句编写 linq 查询
- sql - 我想在新数据到达时获得每天(特定日期)的查询结果
- c# - 绑定字典
> 到 C# 中的 DataGridView - css - Html.ActionLink 无法设置样式
- java - 如何在Java中选择一个特定的数字?
- java - ListItem 过滤器中的 ImageView 未在 Android 中过滤
- html - 单击链接后按其值/内容滚动到标签