当我在没有沙箱的情况下构建一个阴谋集团项目时,阴谋集团使用我的Haskell平台安装中的现有库。 然而,如果我试图在阴谋集团沙盒中做同样的事情,阴谋集团会强行将我所有的依赖重建到沙箱中。
为了节省构建时间和磁盘空间,能够指示阴谋集团使用现有的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
如果我现在去cabal install
,最新的text
库是在我的沙盒下从头开始构建的。
根据阴谋集团安装错误 #1695,目前不支持。 这是最终可能会构建的东西,有关详细信息,请参阅多实例包。
如果有人在阅读和关心,那么应该对某些用户有用的替代方案是在多个项目之间共享一个阴谋集团沙箱。 这样,您仍然可以将Haskell平台安装与开发过程中所需的库安装分开。 更多关于这一点,请参阅阴谋集团沙盒简介