为什么在 "stack test" 工作时我会收到构建计划错误 运行 "stack haddock"?

Why am I getting build plan errors running "stack haddock" when "stack test" works?

我正在 Windows 8 上使用 Stack 0.1.3.1 创建一个新的 Haskell 项目。我的 stack.yaml 文件如下所示:

flags: {}
packages:
- 'lazy-engine'
extra-deps: []
resolver: lts-3.4

当我 运行 stack buildstack test 时,一切都很好。我可以从命令行手动 运行 haddock 并且也可以。但是当我 运行 stack haddock 我得到这样的输出:

Setting codepage to UTF-8 (65001) to ensure correct output from GHC
NOTE: the haddock command is functionally equivalent to 'build --haddock'
While constructing the BuildPlan the following exceptions were encountered:

--  Failure when adding dependencies:
      base: needed (>=4.5 && <4.9), latest is 4.8.1.0, but not present in build plan
    needed for package: array-0.5.1.0

--  While attempting to add dependency,
    Could not find package base in known packages

--  Failure when adding dependencies:
      array: needed (-any), latest is 0.5.1.0, but couldn't resolve its dependencies
      base: needed (>=4.2 && <5), latest is 4.8.1.0, but not present in build plan
      deepseq: needed (>=1.2 && <1.5), latest is 1.4.1.2, but couldn't resolve its dependencies
      ghc-prim: needed (-any), latest is 0.4.0.0, but not present in build plan
    needed for package: containers-0.5.6.2

--  Failure when adding dependencies:
      array: needed (>=0.3 && <0.6), latest is 0.5.1.0, but couldn't resolve its dependencies
      base: needed (==4.3.* || >=4.5 && <4.9), latest is 4.8.1.0, but not present in build plan
    needed for package: deepseq-1.4.1.1

--  While attempting to add dependency,
    Could not find package ghc-prim in known packages

--  Failure when adding dependencies:
      base: needed (>=4.7 && <5), latest is 4.8.1.0, but not present in build plan
      containers: needed (==0.5.*), latest is 0.5.6.3, but couldn't resolve its dependencies
    needed for package: lazy-engine-0.1.0.0

Recommended action: try adding the following to your extra-deps in 
    C:\Users\Aaron\Documents\GitHub\lazy-engine\stack.yaml
- base-4.8.1.0
- ghc-prim-0.4.0.0

You may also want to try the 'stack solver' command

显然这是无稽之谈——我不应该将 base 添加到我的 extra-deps,特别是因为我正在使用 LTS 软件包集!这是怎么回事?

更新:, this seems to have been a bug in stack and should be fixed in newer versions. See https://github.com/fpco/minghc/issues/85 中所述。

一个猜测:您正在使用不包含文档的 GHC 安装,或者至少不像堆栈期望的那样被发现。你能试试“--install-ghc --no-system-ghc”吗?我可能有错误的特定标志名称。

另外,您的系统上是如何安装 GHC 的?

我通过安装 ghc-doc 包(在大多数包管理器中可用)解决了这个问题。