1

私が使用している最新の cabal-install (0.13.3、darcs リポジトリから) は素晴らしいです。再インストールによって GHC のインストールが壊れる可能性があることを知らせてくれます。私が知りたいのはこれです:私のGHCを壊す再インストールcabal install foo 実行するとします。代わりに私がいるとどうなりますか?GHCを壊さないようにすることはできますか? 実際にcabal-dev サンドボックスでパッケージを使用できますか?それとも単に壊れたサンドボックスでしょうか?cabal-dev install foofoo

例: yesod、GHC 7.4.1、github ソースからビルドされた cabal-dev 0.9、Cabal 1.14.0 ライブラリ。

4

1 に答える 1

5

明確にするために、私があなたを正しく理解していれば、どちらの場合もGHCを壊していません. パッケージをインストールすると、別のパッケージの基になる依存関係の1つが再インストールされるため、他のパッケージの依存関係チェーンが壊れ、使用時に適切に動作/コンパイルできなくなります。ホーム フォルダから .ghc を削除し、cabal のインストールをやり直すだけで、通常はこの問題を解決できますが、これは非常に面倒な方法です。

cabal-dev を使用すると、すべての cabal インストール手順と ghc-pkg 登録手順がローカル サンドボックス環境で実行されます。グローバル/ユーザー ghc パッケージはまったく変更されていません。通常、プロジェクトごとに 1 つの cabal-dev サンドボックスをインスタンス化するため、上記のような衝突は通常発生しません。

あなたの質問にたどり着くには、その特定の cabal-dev サンドボックスに既にインストールされているものに完全に依存します。競合がなければ、何も壊れません。強制的--reinstall--reinstall.

いずれにせよ、GHC のインストール自体が壊れる (または何らかの方法で変更される) ことはなく、いつでもrm -rf cabal-devプロジェクト フォルダーの下でやり直すことができますcabal-dev install

お役に立てれば。

于 2012-02-07T07:45:49.913 に答える