堆栈无法正确解决依赖关系

Jul*_*les 5 haskell dependency-management hakyll haskell-stack

我正在尝试在新的Ubuntu 16.04实例上设置Hakyll,但似乎无法正确理解基于堆栈的安装说明。

从开始stack install hakyll,我得到:

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for hakyll-4.9.3.0:
    http-conduit-2.1.11 must match >=2.2 && <2.3 (latest applicable is 2.2.3)

Plan construction failed.
Run Code Online (Sandbox Code Playgroud)

绑定到时stack-install http-conduit-2.1.11,出现了类似的错误:

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for http-conduit-2.2.3:
    http-client-0.4.31.2 must match >=0.5 && <0.6 (latest applicable is 0.5.5)
    http-client-tls-0.2.4.1 must match >=0.3 && <0.4 (latest applicable is 0.3.3.1)

Plan construction failed.
Run Code Online (Sandbox Code Playgroud)

在解决了相关性(也使用Stack)之后,我再次尝试了stack install http-conduit-2.1.11,但是我再次遇到了相同的相关性错误。

软件包http-client-0.4.31.2http-client-tls-0.2.4.1出现在my中~/.stack/precompiled/x86_64-linux/ghc-8.0.1/1.24.0.0/,但并没有明确显示在my中$PATH,但这听起来像是一个非常棘手的解决方案,而且我还没有找到任何文档推荐这种方法。

如何在机器上正确安装Hakyll?

Jul*_*les 2

在这种情况下,比 @sjakobi 更简单的解决方案是在启动新的 Stack 项目时指定解析器作为命令行选项:

stack install hakyll --resolver=5.11 --install-ghc
Run Code Online (Sandbox Code Playgroud)