在Cabal-install中如何发生依赖关系?
我在Cabal / Survival-HaskellWiki中阅读了以下内容:
1. Cabal安装有什么困难?
Cabal的主要困难被称为“依赖地狱”,其中,cabal-install由于某种原因而无法设法安装所需的软件包,从而导致大量的人工工作。作为此困难的一个示例,请考虑用户希望安装软件包A和B的情况。这两种软件包都可用于软件包C,但不能用于相同版本的C。
我知道为什么这通常会有意义,但对于Cabal-install / ghc-pkg却没有意义,因为您可以安装同一软件包的多个版本。
好像每个版本都是一个完全不同的软件包,从许多方面来看,该版本如何成为软件包名称的一部分(例如mustaches-0.1.0.0
)-也许它确实适用于ghc-pkg(我并不完全熟悉它,但这很有意义)。
您有这样的情况:
B和C都依赖于A。但是,如果在不同的时间安装它们,则它们可能取决于A的不同版本。例如,A版本1导出type T = Int
,而在版本2中它导出type T = Bool
。
只有当你试图建立d你揭露B和C组针对不同版本的构建问题,你不能比较T version 1
反对T version 2
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句