在Ubuntu上找不到模块`Test.QuickCheck'

Ari*_*ild 8 testing ubuntu haskell

我在我的文件顶部导入QuickCheck:

import Test.QuickCheck
...
Run Code Online (Sandbox Code Playgroud)

编译文件ghc Lab1.hs给我这个错误:

Lab1.hs:1:8:
    Could not find module `Test.QuickCheck'
    Use -v to see a list of the files searched for.
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)

我尝试了apt-cache搜索quickcheck并得到了一个可怕的包列表.尝试安装libghc-test-framework-dev只是因为我认为名称似乎合适,但错误仍然存​​在.

如何安装QuickCheck模块?

J. *_*son 18

如果您有兴趣在包管理器之外管理Haskell包(如果您对使用最新版本的东西感兴趣可能会有所帮助)那么Cabal是Haskell包管理器,可以让您做

apt-get install cabal-install
cabal update
cabal install QuickCheck
Run Code Online (Sandbox Code Playgroud)

使QuickCheck在全球范围内可用.

然而,最近推荐的是使用sandboxCabal 的功能.如果您对这些内容更熟悉,这与Python virtualenv或Ruby 非常相似bundle.为此,您必须创建一个"cabalized"项目

cabal init        # in an empty directory
Run Code Online (Sandbox Code Playgroud)

然后将QuickCheck(和您的其他库依赖项)放在build-depends:生成的<folder name>.cabal文件的插槽中.

完成此操作后,您可以使用Cabal进行所有进一步的包管理和编译命令.

cabal sandbox init                  # creates your local package sandbox
cabal install --only-dependencies   # gets and installs all the build-dependencies

cabal repl                          # starts up GHCi in the local sandbox
cabal build                         # configures and builds the local project

cabal sandbox delete                # cleans up the sandbox
Run Code Online (Sandbox Code Playgroud)