Haskell - 找不到模块“Test.QuickCheck”

Mat*_* Lu 4 haskell module quickcheck cabal-install

当我尝试运行haskell 时,收到一条错误消息,指出该模块不存在。这很奇怪,因为我尝试先安装它并说它是最新的。知道如何解决这个问题吗? 在此输入图像描述

dan*_*iaz 9

您可以尝试在保存项目的本地目录中创建包环境,如下所示:

c:\Users\...\ex1haskell> cabal install --lib --package-env . QuickCheck
Run Code Online (Sandbox Code Playgroud)

这应该创建一个格式为.ghc.environment.xxxin的文件,希望可以通过//调用ex1haskell来获取该文件。runhaskellghcighc

ghci会话中,启动时出现以下消息表明正在拾取环境:

从...加载包环境

--package-env未明确给出位置时,将使用默认位置。根据文档

默认情况下,它写入 ~/.ghc/$ARCH-$OS-$GHCVER/environments/default 中的全局环境。v2-install 提供了 --package-env 标志来控制修改哪些环境。

但似乎runhaskell在该默认位置找到环境文件时遇到问题。

笔记。创建包环境时,可以同时指定多个包,如下所示:

cabal install --lib --package-env . QuickCheck random aeson transformers
Run Code Online (Sandbox Code Playgroud)

此外,包环境只是文本文件,因此可以随意删除和重新创建本地环境。实际的包二进制文件驻留在其他地方,并且有可能被cabal.