我有多个安装版本的相同haskell/cabal包.哪一个投入使用?

wor*_*shi 2 haskell packages ghc ghci cabal

主要问题:我安装了多个版本的软件包.在ghc/ghci中,如何将包中的模块作为依赖项的模块,我怎么知道在编译或运行时使用的是哪个版本?

相关问题:如果我正在安装一个具有依赖关系的cabal包,该包可以通过多个版本的包来满足.将使用哪个版本?最新版本?

Don*_*art 6

ghc更喜欢链接最新版本(即版本号最高).

如果与cabal链接,它将解析.cabal文件中指定的版本(当没有给出上限时,更喜欢更新的版本).

除非给出约束,否则cabal-install将更喜欢最新版本.

在存在约束的情况下,依赖性解析变为NP完全,并且cabal依赖于求解器来找到令人满意的包赋值.