Haskell 如何使用比Stackage Resolver可用版本更新的库
我想在基于Haskell 如何使用比Stackage Resolver可用版本更新的库,haskell,cabal,haskell-stack,Haskell,Cabal,Haskell Stack,我想在基于堆栈的项目中使用katip库,版本为0.5.0.0。(可以找到该项目) 不幸的是,我的stack.yaml文件中有正在下载的解析器lts-6.4 使用katip-0.5.0.0的正确方法是什么 我试图修改我的cabal文件以使用katip>=0.5&&=0.5&&您需要做两件事: 1) 修改cabal约束以允许更新版本的katib,即: katip >= 0.5 && < 0.6 也就是说,除非您有充分的理由,否则最好始终使用新的堆栈解析程序。最新版本是l
堆栈的项目中使用katip
库,版本为0.5.0.0
。(可以找到该项目)
不幸的是,我的stack.yaml
文件中有正在下载的解析器lts-6.4
使用katip-0.5.0.0的正确方法是什么
我试图修改我的cabal
文件以使用katip>=0.5&&=0.5&&您需要做两件事:
1) 修改cabal约束以允许更新版本的katib,即:
katip >= 0.5 && < 0.6
也就是说,除非您有充分的理由,否则最好始终使用新的堆栈解析程序。最新版本是lts-9.5
为什么要使用lts-6.4
?使用stack时,您必须选择:要么选择所有旧的,要么选择所有新的。。。后者几乎总是最受欢迎的。如果您想混合使用新旧库依赖项,您需要显式地处理额外的dep
,但在这一点上,您可能更容易使用良好的旧Cabal安装。或者更确切地说,…西比,谢谢你的评论。我不使用更新的解析器的原因是,如果我使用,我会得到更多错误:在servant-persistent-0.2.0.0的依赖项中:base-4.9.1.0必须匹配>=4.7&&=0.7&&=0.7&&&0.7&&@StevenL。听起来你的阴谋集团包有不匹配的约束,所以如果你想使用它们,应该修改它们。解析程序中的包都彼此兼容。快速查看忽略约束时是否仍在生成内容的一种方法是传递——允许更新的,这实际上完全忽略了约束。
extra-deps:
- katip-0.5.0.0