48

cabal パッケージのセットが与えられた場合、独立したパッケージのサブセットを自動的に計算する方法はありますか? つまり、すべてをインストールするのに十分なパッケージのサブセットです。

に依存して[network,parsec]いる[network]からです。networkparsec

[network,containers]答えは次のとおりです[network,containers]

  • network依存しないcontainers
  • すべてnetworkの依存関係は依存しないcontainers
  • containers依存しないnetwork
  • すべてcontainersの依存関係は依存しないnetwork

2 つのパッケージの答えを見つけるのは難しくありません。本当に興味深いのは、 の独立集合を見つけることです[containers, directory, filepath, lens, xml, http-conduit, regex-posix, monad-control, unordered-containers, glib, hashable, hspec, split, aeson, attoparsec, stm, QuickCheck]


答えから、私はのようなカバルライブラリに基づくいくつかの機能を期待しています∷ [Packages] → IO [Packages]

4

1 に答える 1

1

Cabal はより NPM に似たモデルに移行しています。これにより、依存関係の解決がはるかに簡単になります。インストールされた各パッケージは、その依存関係のローカル コピーを保持し、相互に排他的なパッケージ バージョン管理の要求を伴う複数のグローバル パッケージをインストールするという頭痛の種と引き換えに、わずかなディスク スペースを使用します。

このモデルでは、一連のパッケージをインストールするために必要なパッケージのサブセットが設定さ==れています。一方が他方の依存関係である可能性がありますが、インストールされた各コピーはその依存関係の独自のローカル コピーを保持するため、Cabal は依存関係がそのようにインストールされたとは見なしません。

于 2013-05-15T17:42:14.900 に答える