スタックを試してみることにしました。私はそれをインストールし、それを使用してghcの最新バージョンをインストールしました。スタックを使用していくつかのパッケージをインストールしましたが、パッケージが ghc に表示されず、ghc-pkg でパッケージを一覧表示すると、スタックを介してインストールしたパッケージが存在しないことがわかります。どうしてこれなの?スタックの目的を誤解していますか?
質問する
1051 次
1 に答える
8
スタックがグローバル パッケージ データベースにアクセスすることはありません。階層化されたデータベース アプローチを使用します。
- グローバル データベース - 変更なし
- スタックスナップショット内のパッケージは、スナップショット データベースにインストールされます
- 他のパッケージはプロジェクトごとにローカルにインストールされます
したがって、グローバル データベースを汚染する代わりに、ほとんどのパッケージがスナップショット データベースにインストールされるため、ほとんどのパッケージを共有できます。スタック スナップショット内のパッケージには互換性がある (つまり、常に一緒にコンパイルされる) ため、 Cabal 地獄に陥ることはありません。
stack ghci
またはを使用stack ghc
して、パッケージ データベースが構成された対応するコマンドを実行できます。
より正確な説明はスタックウィキにあります
于 2015-07-13T20:55:38.443 に答える