33

Haskellでパッケージがどのように作成され、インストールされ、使用されるかに関して、 ghc-pkgcabalの関係は何ですか?

それらの役割は何ですか?どちらを使用するのか、もう一方を使用するのか、または両方を使用するのですか?

それらは補完的なツールですか、競争力のあるツールですか、それとも単に異なる仕事をするツールですか?

4

2 に答える 2

25

グラフィカルに、依存関係は次のとおりです。

Packages GHC can use
    | 
Are registered with "ghc-pkg register"
    |
And (almost always) built with Cabal
    |
With build dependencies resolved by cabal-install
    |
From Hackage.
于 2010-04-25T02:40:46.420 に答える
8

ghc-pkgは、GHCのパッケージデータベースへの直接インターフェイスです。Cabalは、パッケージの一貫した配布構造と、パッケージ間の依存関係、バージョン番号、ビルド情報などのメタデータを指定する方法を提供するツールです。

Cabalを使用してパッケージをインストールすると、(とりわけ)ghcに登録されますが、実際には、それが重複の範囲です。

ghc-pkgは、インストールされたパッケージを非表示にするなど、(私が知る限り)Cabalにはない機能も提供することに注意してください。

于 2010-04-25T00:22:23.687 に答える