当我在没有沙箱的情况下构建 Cabal 项目时,Cabal 使用我的 Haskell 平台安装中的现有库。但是,如果我尝试在 Cabal 沙箱中做同样的事情,Cabal 会强制将我的所有依赖项重新构建到沙箱中。
为了节省构建时间和磁盘空间,能够指示 Cabal 使用现有的 Haskell 平台库而不是重新构建它们会很棒。这可能吗?
示例(要点中的文件):
executable blog
hs-source-dirs: .
main-is: Test.hs
build-depends: base >= 4.5 && < 5
, text
如果我cabal build
在包含此.cabal
文件的目录中,我的Test
模块将针对 Haskell 平台版本的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
如果我现在去 and cabal install
,最新的text
库是在我的沙箱下从头开始构建的。