サンドボックスなしで Cabal プロジェクトをビルドすると、Cabal は Haskell Platform インストールの既存のライブラリを使用します。ただし、Cabal サンドボックス内で同じことを行おうとすると、Cabal は強制的にすべての依存関係をサンドボックスに再構築します。
ビルド時間とディスク容量を節約するために、Cabal に既存の Haskell Platform ライブラリを再構築する代わりに使用するように指示できるとよいでしょう。これは可能ですか?
例 ( gist 内のファイル):
executable blog
hs-source-dirs: .
main-is: Test.hs
build-depends: base >= 4.5 && < 5
, text
このファイルcabal build
を含むディレクトリにいる場合、私のモジュールは の Haskell Platform バージョンに対してビルドされます。.cabal
Test
text
ただし、サンドボックスで同じことを行うと、次のようになります。
cabal clean # (or alternatively clone an empty gist)
cabal sandbox init
cabal build
私はこれを得る:
$ cabal build
Package has never been configured. Configuring with default flags. If this
fails, please run configure manually.
Resolving dependencies...
Configuring install-test-0.1...
cabal: At least the following dependencies are missing:
text -any
ここで に進むとcabal install
、最新のtext
ライブラリがサンドボックスの下にゼロから構築されます。