4

我希望能够搜索一个包并获得一个下载链接以及所有依赖项的列表。有没有一种简单的方法可以通过命令行或 Haskell 模块来做到这一点?

4

2 回答 2

3

cabal(可以从cabal-install包中获得,如果你还没有的话)可以做到这一点。我将无耻地使用我刚刚发布的universe包作为运行示例。对于搜索:

sorghum:~% cabal list universe
* universe
    Synopsis: Classes for types where we know all the values
    Default available version: 0.0
    Installed versions: 0.0
    License:  BSD3

* universe-th
    Synopsis: Construct a Dec's ancestor list.
    Default available version: 0.0.0.6
    Installed versions: [ Not installed ]
    Homepage: http://github.com/jfishcoff/universe-th
    License:  BSD3

对于依赖信息:

sorghum:~% cabal info universe
* universe         (library)
    Synopsis:      Classes for types where we know all the values
    Versions available: 0.0
    Versions installed: 0.0
    Homepage:      [ Not specified ]
    Bug reports:   [ Not specified ]
    Description:   A small package, in the spirit of data-default, which allows
                   the munging of finite and recursively enumerable types
    Category:      Data
    License:       BSD3
    Author:        Daniel Wagner
    Maintainer:    daniel@wagner-home.com
    Source repo:   [ Not specified ]
    Dependencies:  base ==4.*, void >=0.1 && <0.6
    Documentation: /home/dmwit/.cabal/x86_64/share/doc/universe-0.0/html
    Cached:        No
    Modules:
        Data.Universe
        Data.Universe.Helpers

下载和解压:

sorghum:~% cabal unpack universe
Downloading universe-0.0...
Unpacking to universe-0.0/

您也可以直接下载而不用解压cabal fetch,您可能会喜欢这个--no-dependencies标志(或者可能不会)。

于 2013-03-18T01:13:29.150 回答
1

AFAIK 当前的 hackage 没有它。但是新的一些基本的 API 调用。它们中的大多数返回 html,但其中一些返回 JSON 表示。

于 2013-03-17T23:21:27.233 回答