Cabal安装Quickcheck版本问题

qre*_*est 5 haskell quickcheck cabal hackage

我正在尝试在Ubuntu 10.04上通过cabal安装quickcheck 2。无论我尝试做什么,我总是会遇到以下问题:

$ cabal list quickcheck
* QuickCheck
    Synopsis: Automatic testing of Haskell programs
    Latest version available: 2.1.1.1
    Latest version installed: 1.2.0.0
    Homepage: http://www.cse.chalmers.se/~koen
    License:  BSD3
Run Code Online (Sandbox Code Playgroud)

这是在干净的Ubuntu 10.04上,仅安装了ghc6和cabal-install apt软件包。在尝试安装quickcheck之前,我已经通过cabal安装了二进制软件包。

它告诉我2.1.1.1可用,但只能安装1.2.0.0。为什么我无法真正安装最新版本?

Tho*_*mas 2

$ cabal install --dry-run quickcheck
Resolving dependencies...
In order, the following would be installed (use -v for more details):
QuickCheck-1.2.0.0
Run Code Online (Sandbox Code Playgroud)

我不确定为什么它选择旧版本,但你可以这样做:

$ cabal install --dry-run quickcheck-2.1
Resolving dependencies...
In order, the following would be installed (use -v for more details):
mtl-1.1.0.2
QuickCheck-2.1
Run Code Online (Sandbox Code Playgroud)

您可以更具体地提供版本号,但并非必须如此。

  • `cabal 安装'quickcheck > 2'`。Quickcheck 是 cabal 更喜欢旧版本的几个软件包之一(这是半硬编码的)。当许多软件包没有指定版本上限时,这是一种避免破坏的黑客行为,并且发布了对广泛使用的软件包的重大破坏性更改。最终,我希望它会消失。 (4认同)