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

Encountering error while adding MaybeT dependency in stack project

我正在使用 HXT 学习本教程 webScraper。 我在这里使用 Stack。

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

Recommended action: try adding the following to your extra-deps in /Users/***/Haskell Development/Scraper/stack.yaml:

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

In the dependencies for MaybeT-0.1.2: base-4.9.0.0 must match <4.8 (latest applicable is 4.7.0.2) needed due to Scraper-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]

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

具体问题的解决方案是从 outdated MaybeT package to the MaybeT transformer offered by the transformers package in Control.Monad.Trans.Maybe


也就是说,请注意版本不匹配涉及 base。如果您确实需要使用 MaybeT 包,则必须将 Stack 解析器切换为快照,例如 lts-6.26,它使用 base-4.8 或以下(即 GHC 7.10.3 或以下)。 base 版本与 GHC 版本耦合,其他一切都取决于 base,因此没有简单的方法可以仅切换 base 到旧版本,如果运气好的话,它可能与其他软件包一起使用。