我安装了同一haskell/cabal软件包的多个版本。哪一个投入使用?

我安装了同一haskell/cabal软件包的多个版本。哪一个投入使用?,haskell,packages,ghc,cabal,ghci,Haskell,Packages,Ghc,Cabal,Ghci,主要问题:我安装了一个软件包的多个版本。在ghc/ghci中编译或运行包中有模块作为依赖项的模块时,如何知道正在使用哪个版本 相关问题:如果我正在安装一个cabal包,它的依赖关系可以由一个包的多个版本来满足。将使用哪个版本?最新版本?ghc更喜欢与最新版本(即具有最高版本号)链接 如果与cabal链接,它将解析.cabal文件中指定的版本(如果没有给出上限,则首选较新的版本) 除非有限制,否则cabal安装将首选最新版本 在存在约束依赖项的情况下,cabal依靠解算器找到满意的包分配。一些有用

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


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

ghc更喜欢与最新版本(即具有最高版本号)链接

如果与cabal链接,它将解析.cabal文件中指定的版本(如果没有给出上限,则首选较新的版本)

除非有限制,否则cabal安装将首选最新版本


在存在约束依赖项的情况下,cabal依靠解算器找到满意的包分配。

一些有用的命令可实际查看已安装的包并控制是否使用它们:

ghc包装清单

ghc包装寄存器


ghc pkg注销

Ah。现在我了解了如何使用“-v”及其含义(详细)。。不是版本或类似的东西。我一直看到那个建议冒出来。现在我明白了。通过它,我得到了关于隐藏哪个版本以支持更高版本的信息:“隐藏包gloss-1.6.1.1以避免与更高版本gloss-1.7.0.1冲突”,我想这就解决了问题。