如何覆盖haskell项目中的上限?

时间:2017-01-07 22:57:34

标签: haskell haskell-stack

我想使用种类平等,这似乎目前仅存在于GHC主管中。

我做了GHC的系统安装,在我的项目中我添加了snapshot.yaml

resolver: nightly-2016-12-31
compiler: ghc-8.1.20170103

并相应更新stack.yaml

resolver:
  name: snapshot
  location: snapshot.yaml

我可以看到使用stack path选择正确的编译器。

当我构建项目时,我现在有了

In the dependencies for array-0.5.1.1:
    base-4.10.0.0 must match >=4.5 && <4.10 (latest applicable is 4.9.0.0)
needed due to bookkeeper-0.2.4 -> array-0.5.1.1

如何从我的项目中覆盖array-0.5.1.1声明的上限,这可能不是实际上需要的?

1 个答案:

答案 0 :(得分:2)

您的主要问题是nightly-2016-12-31快照uses GHC 8.0.1 and base 4.9.0.0,因此与您安装的GHC 8.1不兼容。它应该足够set the resolver to ghc-8.1.20170103,因此不会使用任何快照。 (还有一个system-ghc选项;但是,鉴于Stack已经使用了正确的编译器,我猜它不需要打开它。)如果你需要不与GHC捆绑的软件包,你将会必须将它们添加到extra-deps中的stack.yaml(如果您已经有一个.cabal文件指定了您的依赖项,stack solver --update-config可以用来自动填充它。)