質問

Cabalには依存関係の問題があります 常に. 。本当に疲れます。これまでのところ、私は多くのことを機能させようとしました、ここにスナップをインストールしようとしています:

$ 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などをインストールするのに同様の問題があります。カバルを作る手順は何ですか?私はすでに試しました:

export PATH=/home/user/.cabal/bin:$PATH
役に立ちましたか?

解決

問題は、Snap-Server-0.2.15がMonads-FDに依存していないことです。最新のバージョンであるMonads-FD-0.1.0.3にはMTL-2が必要です。残念ながら、これはMTL <2.0を必要とするListLike(Iteratee経由)への依存と矛盾しています。これらの制約は両方とも同時に満たすことができないため、Cabalはあきらめます。

実行してみてください cabal install snap-server --constrain="monads-fd=0.1.0.2". 。これにより、MTLを必要としないMonads-FDの以前のバージョンが強制され、すべてが適切に機能すると思います。

多くのパッケージに問題がある場合、それはおそらく新しいものによるものです mtl それは最近アップロードされました。追加することができます --constrain="mtl<2", 、それが役立つかもしれません。

道徳的なメンテナー:Haskell PVPおよびに従ってください いつも 上部の依存境界線を使用します。

NB MTL-2で動作する新しいListlikeLikeをアップロードしても(すぐに行う)、Iterateeの上限のために新しいListLikeが選択されないため、問題は解決しません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top