Frage

Cabal hat Abhängigkeitsprobleme ständig . Es ist wirklich anstrengend. Bisher habe ich versucht, viele Dinge arbeiten, hier ist mein Versuch, Snap zu installieren:

$ 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.*

Ich habe ähnliche Probleme bei der Installation Happstack usw. Was das Verfahren Kabale ... Arbeit zu machen ist? Ich habe schon versucht:

export PATH=/home/user/.cabal/bin:$PATH
War es hilfreich?

Lösung

Das Problem ist, dass Snap-Server-0.2.15 eine unbegrenzte Abhängigkeit von Monaden-fd hat. Die neueste Version, Monaden-fd-0.1.0.3, erfordert mtl-2. * Leider dies nicht gegen die Abhängigkeit von ListLike (via iteratee), die mtl <2.0 erfordert. Beide Einschränkungen können nicht gleichzeitig erfüllt werden, so Kabale aufgibt.

Versuchen cabal install snap-server --constrain="monads-fd=0.1.0.2" läuft. Das wird eine frühere Version von Monaden-fd erzwingen, die nicht mtl erfordert, und ich denke, alles richtig funktioniert.

Wenn Sie Probleme mit einer Menge von Paketen haben, ist es wahrscheinlich aufgrund des neuen mtl, die vor kurzem hochgeladen wurden. Sie können versuchen, --constrain="mtl<2", die helfen könnte hinzufügen.

Moral zu Maintainer. Folgen dem Haskell PVP und immer verwenden obere Abhängigkeit Grenzen

N. B. Auch wenn ich ein neues ListLike laden zu tun, dass die Arbeiten mit mtl-2 (was ich sehr bald tun wird), das nicht Ihr Problem beheben wird, weil die neue ListLike nicht aufgrund der oberen auf iteratee gebunden ausgewählt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top