Cabal使用(Haskell)
-
29-09-2019 - |
题
Cabal有依赖性问题 不断地. 。真的很累。到目前为止,我已经尝试使许多事情都有效,这是我尝试安装SNAP:
$ sudo cabal install snap-server Resolving dependencies... cabal: cannot configure ListLike-1.1.0. It requires mtl >=1.1.0 && 1.2 For the dependency on mtl >=1.1.0 && 1.2 there are these packages: mtl-1.1.0.0, mtl-1.1.0.1, mtl-1.1.0.2 and mtl-1.1.1.0. However none of them are available. mtl-1.1.0.0 was excluded because mtl-2.0.0.0 was selected instead mtl-1.1.0.0 was excluded because monads-fd-0.1.0.3 requires mtl ==2.* mtl-1.1.0.1 was excluded because mtl-2.0.0.0 was selected instead mtl-1.1.0.1 was excluded because monads-fd-0.1.0.3 requires mtl ==2.* mtl-1.1.0.2 was excluded because mtl-2.0.0.0 was selected instead mtl-1.1.0.2 was excluded because monads-fd-0.1.0.3 requires mtl ==2.* mtl-1.1.1.0 was excluded because mtl-2.0.0.0 was selected instead mtl-1.1.1.0 was excluded because monads-fd-0.1.0.3 requires mtl ==2.*
我在安装Happstack等方面也有类似的问题。使Cabal的过程是什么?我已经尝试了:
export PATH=/home/user/.cabal/bin:$PATH
解决方案
问题在于Snap-Server-0.2.15对Monads-FD具有无限的依赖性。最新版本Monads-fd-0.1.0.3需要MTL-2。这两个约束都不能同时实现,因此Cabal放弃了。
尝试运行 cabal install snap-server --constrain="monads-fd=0.1.0.2"
. 。这将迫使早期版本的Monads-FD不需要MTL,我认为一切都会正常工作。
如果您的包裹有很多问题,那可能是由于新的 mtl
这是最近上传的。您可以尝试添加 --constrain="mtl<2"
, ,这可能会有所帮助。
对维护者的道德:遵循Haskell PvP和 总是 使用上部依赖性范围。
即使我确实上传了与MTL-2一起使用的新列表(我会很快),这也不会解决您的问题,因为由于IterateE上的上限,因此不会选择新列表。
不隶属于 StackOverflow