我有一个项目需要一些动作才能编译。对于某些依赖项,错误消息指出两个版本和一个范围。这些条目实际意味着什么?
Cabal-1.24.2.0 must match ==2.0.* (latest applicable is 2.0.0.2)
在任何情况下,我都不希望Cabal-1.24.2.0
与2.0.*
范围内的版本匹配。 stack
似乎也没有解释原因。
为什么2.0.0.2
被视为适用,因为LTS版本为1.24.2.0
?这是否意味着兼容?
答案 0 :(得分:2)
它说LTS版本Cabal-1.24.2.0与来自某个软件包的== 2.0。*约束不匹配,可能在您尝试构建的项目中。
“最新适用”是最新版本的hackage,符合约束范围。您可以尝试将其添加到extra-deps
。
也许这种消息传递应该得到改进,但是再次这样做会使搜索变得不那么容易。