1

現在、GOA をインストールしようとすると、次のメッセージが表示されます。

>sudo cabal install goa
Resolving dependencies...
In order, the following would be installed:
directory-1.1.0.2 (reinstall) changes: filepath-1.3.0.0 -> 1.2.0.1
process-1.0.1.5 (new version)
goa-3.1 (new package)
cabal: The following packages are likely to be broken by the reinstalls:
....

私の質問は、これが現在「filepath-1.3.0.0」をデフォルトとして持っていることを意味するかどうかです.cabal(--force-reinstalls時に)はこれをオーバーライドして「filepath-1.2.0.1」をデフォルトにしますか?私が少し混乱している理由は、場所を見ると:

cabal/パッケージ/hackage.haskell.org/ファイルパス

1.2.0.1 と 1.3.0.0 の両方が存在することがわかりました。さらに、コマンド「cabal list filepath」は、両方のパッケージがインストールされていることを示します (以下の「インストールされているバージョン: 1.2.0.1、1.3.0.0」を参照)。

>cabal list filepath
......
* filepath
    Synopsis: Library for manipulating FilePaths in a cross platform way.
    Default available version: 1.3.0.1
    Installed versions: 1.2.0.1, 1.3.0.0
    Homepage: http://www-users.cs.york.ac.uk/~ndm/filepath/
    License:  BSD3
4

1 に答える 1

2

これで、 をdirectory-1.1.0.2インストールしてビルドしましfilepath-1.3.0.0た。

ここでの問題は、goaが必要なインストールを行っていることです。すでにすべての適切なパッケージがインストールされていますが、あまりにも新しいバージョンの でビルドされています。この競合に対する Cabal-install の解決策は、古いバージョンの を使用するように再構築することです。これはすべて、パッケージの依存関係に同じパッケージの複数のバージョンを含める必要がないためです (この場合)。filepath (≥1.1 & <1.3) directory (≥1.0 & <1.2)directoryfilepathdirectoryfilepathgoa

于 2012-12-05T15:45:11.630 に答える