在堆栈项目中添加MaybeT依赖项时遇到错误

时间:2016-12-05 16:46:19

标签: haskell haskell-stack

我正在使用HXT关注本教程webScrapper。 我在这里使用Stack。

在为MaybeT添加依赖项时,它要求:

  

建议的操作:尝试将以下内容添加到/ Users / *** / Haskell Development / Scrapper / stack.yaml中的extra-deps:    - MaybeT-0.1.2

现在这样做是为了在运行堆栈构建时得到这条消息:

  

在MaybeT-0.1.2的依赖项中:       base-4.9.0.0必须匹配< 4.8(最新适用的是4.7.0.2)   因Scrapper-0.1.0.0而需要 - > MaybeT-0.1.2

作为Stack的新手,我无法在我的cabal文件中解决问题 依赖:

  build-depends:       base >= 4.7 && < 5
                    ,  hxt
                    ,  url
                    ,  HTTP
                    ,  MaybeT

在stack.yaml

resolver: lts-7.12
extra-deps: [MaybeT-0.1.2]

我错过了什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

针对您的具体问题的解决方案是从outdated MaybeT package中的变换器包提供的Control.Monad.Trans.Maybe转换为MaybeT转换器。

那就是说,请注意版本不匹配涉及 base 。如果您确实需要使用 MaybeT 包,则必须将堆栈解析器切换为lts-6.26等快照,该快照使用 base-4.8 或更低版本(即GHC 7.10.3或以下)。 base 版本与GHC版本相关联,其他所有版本都依赖于 base ,因此没有简单的方法可以将 base 切换到旧版本,如果运气好的话可能还有其他套餐。