Mat*_* Lu 4 haskell module quickcheck cabal-install
当我尝试运行haskell 时,收到一条错误消息,指出该模块不存在。这很奇怪,因为我尝试先安装它并说它是最新的。知道如何解决这个问题吗?

您可以尝试在保存项目的本地目录中创建包环境,如下所示:
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.