2016-06-21 17 views
0

transformers ==0.4.* && ==0.5.2.0が見つかりませんでしたが、キャトルを使用してmtlをインストールしようとしていました。キャバールのインストールに失敗しました

$ cabal install mtl 
Resolving dependencies... 
Configuring mtl-2.2.1... 
cabal.exe: At least the following dependencies are missing: 
transformers ==0.4.* && ==0.5.2.0 
cabal.exe: Error: some packages failed to install: 
mtl-2.2.1 failed during the configure step. The exception was: 
ExitFailure 1 

私はここで一週間近く立ち往生しました。バージョン0.4.3.0と0.5.2.0にトランスをインストールしました。私のカバールはバージョン1.10.2.0、私のghcは7.6.3です。私はghcに新しいので、何が問題か分かりません。私はtransformers ==0.4.*の意味を理解できません。助言がありますか?どうもありがとう!

+0

トランスの2つの異なるバージョンが必要であるという事実は心配です。インストールに何か問題があります。あなたはサンドボックスを使用していますか? –

答えて

2

ライン

transformers ==0.4.* && ==0.5.2.0 

は変圧ライブラリのバージョンに依存制約です。ここでは、変圧器のバージョンが同時に0.4。*と0.5.2.0であることが必要であることを示しています。 異なるバージョンがインストールされていることもありますが、コンパイル時には1つのバージョンしか使用できないため、この制約を満たすことはできません。

何らかの理由で、キャバルがmtlパッケージの2つのrevisionsと混同しているようです。 2番目のリビジョンでは、トランスフォーマー-5のサポートが追加されています。 mtlのissue 30も参照してください。ここで、hackageのメタデータは2番目のリビジョンですが、最終的にダウンロードされたソースtarballは元のリビジョンです。その後、

MTLの新バージョンがリリースされるまでは、明示的に変圧器-0.4.3.0をインストールする必要が(とそのバージョンのみ)とMTLをインストールします。

cabal install transformers-0.4.3.0 

mtlのインストール時に依存関係が満たされている場合、transformers-0.4.3.0は依存性チェックに合格します。 Cabalは、そのバージョンがインストールされているときに自動的に最新バージョンを依存ファイル(たとえば== transformers-0.5.2.0)として追加しているようです。したがって、0.4。*バージョンのみをインストールする必要があります。

すでに最新のトランスバージョンをインストールしている場合、あなたはuninstall it次のことができます。

ghc-pkg unregister --force transformers-0.5.2.0 
rm -r .cabal/packages/hackage.haskell.org/transformers/0.5.2.0 

(インストールされているバージョンのリストについては、cabal info transformersを参照して、インストールされているすべての5.xのバージョンのためにこれを行います。)

+0

これは間接的に私がキャバルからxmobarをインストールすることもできませんでした。 – user2664470

関連する問題