如何使用比 Stackage Resolver 可用的更新版本的库

How to Use Newer Version of Library Than Stackage Resolver Has Available

我想在基于 stack 的项目中使用 katip 库,版本 0.5.0.0。 (项目可以找到here)。

不幸的是,我的 stack.yaml 文件有正在下载 katip-0.2.0.0 的解析器 lts-6.4

katip-0.5.0.0的正确使用方法是什么?

我尝试修改我的 cabal 文件以使用 katip >= 0.5 && <0.6,但是当我这样做时,我得到了这个错误:

In the dependencies for servant-persistent-0.2.0.0: katip-0.2.0.0 must match >=0.5 && <0.6 (latest applicable is 0.5.0.1)

你需要做两件事:

1) 修改 cabal 约束以允许更新版本的 katib 即:

katip >= 0.5 && < 0.6

2) 修改 stack.yaml 文件以允许它

extra-deps:
- katip-0.5.0.0

话虽如此,除非您有充分的理由 - 最好始终使用新的堆栈解析器。最新的是 lts-9.5.