2012-03-29 8 views
3

私のYesod Webアプリケーションを別のマシンにインストールしようとしています。Yesodのインストール時にzlib-enum、zlib-binding、zlib-conduitの競合を解決する方法

私は現在のマシンに正常にインストールされており、問題なしでcabal installをそこに置くことができます。

が、私は新鮮なUbuntuのVMである(ただし、他のマシン上でそれとのトラブルに遭遇しているようだ - 。例えば、以前のそれにインストールされていない秘密結社パッケージ私は私のセットアップについては何も変わっていない

注意(たとえば、徒党ファイル)はまったく同じです

これは私が入れませんエラーです。

徒党を:zlibの-列挙-0.2.2を設定することはできませんそれは0.1 == ZLIB-バインディングが必要です*
。 zlib-bindings == 0.1。*に依存するためには、tパッケージ:
zlib-結合-0.1.0およびzlib-結合-0.1.0.1。しかし、それらのどれも利用可能ではありません。 ZLIB-導管-0.2.0.1がZLIB-バインディングを必要とするため
ZLIBバインディング-0.1.0を除く> = 0.0.3 & & < 0.1
ZLIBバインディング-0.1.0は、ZLIBバインディング-0.0ため除外しました。 3.2が選択されました
zlib-bindings-0.1.0はトップレベルの依存関係のため除外zlib-bindings == 0.0.3.2
zlib-conduit-0.2.0.1にはzlibが必要なため、zlib-bindings-0.1.0.1が除外されました-bindings> = 0.0.3 & & < 0.1
zlib-bindings-0.0.3.2が選択されたため、zlib-bindings-0.1.0.1が除外されました
のzlib-バインディング-0.1.0.1はありません、私はこの問題を解決するが、これと同じ問題に実行して維持するための方法のすべての種類を試してみました0.0.3.2

==ため、トップレベル依存性のzlib-バインディングの除外されました私がどの道を取るのか

私の推測は、これらのパッケージのバージョンがこの時点で競合しているということです。

この問題を解決するにはどうすれば解決できますか?

答えて

3

これはカバール依存性の最善の例です。理論的には、障害はzlib-enumにあります。なぜなら、メジャーバージョンのバンプをzlib-bindingsに反映させるために、メジャーバージョンのバンプを持っていたはずです。しかし、実際問題は、キャバルの依存アナライザです。新しいものは、うまくいけばすぐに準備が整います。

一方、zlib-enumに応じて< = 0.2.1が動作するはずです。

また、@ ehirdの回答も役立つはずですが、問題が完全に解決されない場合もあります。

+0

ありがとう、私はチャンスを得るときにこの解決策を試してみます。新しい依存関係アナライザが利用可能になるときの言葉? –

+0

@ThorstenLorenz:私はいくつかの情報(元々コメントとして拡張しましたが、追加する必要があり、長くなっていました)。 – ehird

+0

Michealさん、ありがとうございました。あなたの提案に基づいてカバールファイルを更新したところで、私はちょうど再構築して 'yesod devel'を実行できました。 –

3

新しいYesod PlatformHackage page)をインストールしようとする場合があります:

cabal install yesod-platform 

それは、このような競合を避けるために、バージョン管理設計された特定のイェソドのバージョンとそのすべての依存関係、依存するメタパッケージです。

また、開発中のバージョンのcabal-installを試すこともできます。このモジュールには、マイケル氏が言及したモジュラ依存ソルバーが含まれています。 darcs get --lazy http://darcs.haskell.org/cabal/の場合は、bootstrap.shcabal/cabal-installにインストールしてインストールする必要があります(ただし、最初に~/.cabal~/.ghcを消去してください)。 --solver=modularcabalに渡すことによって、モジュラソルバを明示的に要求する必要があります。

開発版であっても、実際はかなり安定していることに注意してください。 Hackageのバージョンはコンパイルされないので、GHC 7.4.1(私を含む)の多くの人がそれを使います。これまでのところ問題はありませんでした。

これはLinux版です。関連ディレクトリはOS Xの~/Library/Haskellだと思います。特にシェルスクリプトはそこで実行されないため、Windows上で何をすべきかわかりません。

+0

大変ありがとうございます。私はMichealの提案と一緒にこれを今理解できるはずだと確信しています。 –

関連する問題