我最近升级到 Cabal 3.2(和 GHC 8.10),我遇到了一些重大问题,使我的某些项目不再可构建......
这是一个每次都失败的最小(非)工作配置:
我从一个干净的 Cabal 配置开始(删除~/.cabal);原因将在后面的帖子中出现。我运行cabal update以重新创建.cabal目录并确保 Cabal 正常工作。
我test1使用cabal init. 这是一个库项目,带有一个公开的模块(方便地命名Test1),该模块导出一些虚拟函数foo。我跑cabal build,然后cabal install --lib; 一切都运行顺利,到目前为止一切顺利。
可以肯定的是,我离开了项目目录并启动了 GHCi。我输入:m Test1以加载我之前创建的模块,它工作正常!我可以输入foo ...并查看我的函数执行情况。此外,我列出了目录的内容~/.cabal/store/ghc-8.10.xxx并看到该test1-xxx目录在那里。
然后我创建了一个新项目test2,仍然使用cabal init. 这一次,我将其配置为可执行文件,并将其添加test1为依赖项(使用build-depends字段)。但是这次当我运行时cabal build,我遇到了一些问题:
~/projects/haskell/test2> cabal build
Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] trying: test2-0.1.0.0 (user goal)
[__1] …Run Code Online (Sandbox Code Playgroud)