当你依赖于cabal包时,它似乎在所有cabal节中依赖

dan*_*dan 8 haskell cabal

我用两个目标,一个库和一个可执行文件创建了我自己的cabal包(我们称之为package-1).库部分有一个构建依赖列表,可执行文件有另一个构建依赖列表,它更大.

现在我创建package-2,它在build-depends部分列出了package-1.我想只引入package-1 的目标中列出的依赖项.但似乎在把所有的包1的所有部分,包括依赖的可执行目标列出的依赖关系.

有没有办法将依赖图修剪为package-1中的库,或者我是否必须将该库目标分解为单独的独立包?

Kos*_*kov 3

您可以放入Buildable: False可执行文件,然后在需要时使用cabal build Foo, 或通过标志(cabal configure -fbuild-foo-fbuild-executables)显式构建它。

可能有用的示例:Cabal Multiple Executables