2011-10-22 3 views
5

のインストールの問題私は、Webについて少し学ぶためにyesodをインストールしたいと私の空き時間にはHaskellで少し遊んが、私はない:イェソド

> cabal install yesod 
Resolving dependencies... 
cabal: cannot configure cprng-aes-0.2.2. It requires crypto-api >=0.8 
For the dependency on crypto-api >=0.8 there are these packages: 
crypto-api-0.8. However none of them are available. 
crypto-api-0.8 was excluded because skein-0.1.0.1 requires crypto-api ==0.6.* 
crypto-api-0.8 was excluded because crypto-api-0.6.4 was selected instead 
crypto-api-0.8 was excluded because clientsession-0.7.3.1 requires crypto-api 
>=0.6.4 && <0.7 

しかし、私は右のパッケージが

をインストールしていると思います
cabal list cprng-aes skein crypto-api clientsession 
* clientsession 
    Synopsis: Securely store session data in a client-side cookie. 
    Default available version: 0.7.3.1 
    Installed versions: 0.7.3.1 
    Homepage: http://github.com/snoyberg/clientsession/tree/master 
    License: BSD3 

* cprng-aes 
    Synopsis: Crypto Pseudo Random Number Generator using AES in counter mode. 
    Default available version: 0.2.2 
    Installed versions: 0.2.2 
    Homepage: http://github.com/vincenthz/hs-cprng-aes 
    License: BSD3 

* crypto-api 
    Synopsis: A generic interface for cryptographic operations 
    Default available version: 0.8 
    Installed versions: 0.6.4, 0.8 
    Homepage: http://trac.haskell.org/crypto-api/wiki 
    License: BSD3 

* crypto-api-tests 
    Synopsis: A test framework and KATs for cryptographic operations. 
    Default available version: 0.1 
    Installed versions: [ Not installed ] 
    Homepage: http://trac.haskell.org/crypto-api/wiki 
    License: BSD3 

* hack-middleware-clientsession 
    Synopsis: Middleware for easily keeping session data in client cookies. 
    Default available version: 0.0.1 
    Installed versions: [ Not installed ] 
    Homepage: http://github.com/snoyberg/hack-middleware-clientsession/tree/master 
    License: BSD3 

* skein 
    Synopsis: Skein, a family of cryptographic hash functions. Includes 
       Skein-MAC as well. 
    Default available version: 0.1.0.1 
    Installed versions: 0.1.0.1 
    License: BSD3 

私はcabal installについて多くを知らないが、crypto-api >=0.8<7の両方が不可能と思われ、必要とされるようです。

+0

+1とfav'd。私はちょうど今日この問題を抱えていました。私はそれを解決することができず、何も見つけられませんでした。 OSとバージョン?私はUbuntu 11.10を使用していました。 – delnan

+0

私は 'haskell-platform-2011.2.0.1'と' cabal-0.10.2-3'のdebianテストを使用しています – epsilonhalbe

答えて

8

ここではCrypto-APIのメンテナーです。

PROBLEM

問題は、パッケージが相互に排他的です。最新のcprng-aesには、crypto-apiのバージョン>= 0.8が必要です。最新のskeinにはcrypto-api 0.6.*が必要です。だから私たちがしたいのは、パッケージを更新するためのスケルトンデベロッパー(私は電子メール)です。それまでNOW

FOR

、あなたは、問題のパッケージの古いバージョンをインストールする必要があります。

cabal install yesod 'crypto-api == 0.6.4' 'cprng == 0.2.1' 

私は構文が正しいと思います。あなたは常に行うことができない場合は、次長期的には

cabal install yesod crypto-api-0.6.4 cprng-0.2.1 

どのようにすることができますコミュニティAVOID THIS

を私は上記のために行ったように秘密結社が、良くなると自動的に互換性のあるバージョンを見つけることを願っています。誰もが言及し、誰も実装していないようなキャバルの改良がなされていない場合、ビルド・デプスの一貫性のある下限を維持しようとすると、パッケージのメンテナが役に立ちます。もしcprng-aesが依然としてcrypto-api >= 0.5を受け入れるなら、これはキャバールによってインストールされたと思います。これはパッケージ保守担当者には尋ねるほんの少しですが、CPPとcabalが提供する{MAX,MIN}_VERSIONマクロを使用して行うことができます。

編集: フェリペはスケルトンを更新し、hackageにアップロードしました。マイケルは顧客の方々を更新し、Yesodのメンテナーであり、すでに電子メールの会話に携わっているのを見て、すぐに彼をハックする予定だと確信しています。物事はあなたがこのメッセージを読む時点で修正する必要があり、単に実行します。反射に

cabal update ; cabal install yesod 

を、私は暗号APIのメジャーバージョンバンプがコミュニティの残りの部分を引き起こすどのくらいのトラフィックを参照してください。私はこの問題をどのように処理するかは分かりません。私はちょうど "この変更を加えれば誰も影響を受けることはありません"とPVPと丁度ブレークすることに気付くことができました。 OTOH、私がPVPに従わなかったときに私が誰かのコードを壊すと、彼らは怒っている正当な理由があります。どのコミュニティからもコメントがありますか?

+1

上限を持たない( '0.6。*'は<0.7 ')あなたが' cprng-aes'に対して示唆するように、他の問題を引き起こす可能性があります。例えば、新しい 'cprng-aes 0。インストールパッケージが使用する機能が削除されました。 – Tarrasch

+1

@tarrasch真実ですが、一般的にハードな上限を持つと、それが防ぐよりも多くの失敗が発生すると考えられています。キャバルがより良い仕事をした場合、これは当てはまりませんが、それは現実ではありません。 –

関連する問題