haskell - 当你依赖一个 cabal 包时,它似乎会在所有 cabal 节中引入依赖关系

标签 haskell cabal

我制作了自己的 cabal 包(我们称之为 package-1),其中包含两个目标,一个库和一个可执行文件。库部分有一个构建依赖列表,而可执行文件有另一个更大的构建依赖列表。

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

有什么方法可以将依赖图修剪为 package-1 中的库,还是我必须将该库目标分解为一个单独的独立包?

最佳答案

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

可能有用的示例:Cabal Multiple Executables

关于haskell - 当你依赖一个 cabal 包时,它似乎会在所有 cabal 节中引入依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723186/

相关文章:

haskell - cabal的 "Warning: Falling back to topdown solver for GHC < 7."是什么意思?

parsing - Haskell/Parsec : How do you use the functions in Text. Parsec.Indent?

Haskell SDL : Can't find mingw32. dll

list - 来自升序的连续子列表

web-applications - Haskell 或 Erlang 用于约束解决类(class)调度程序

windows - haskell ,GHC,win32,开罗

haskell - 如何显示 cabal 项目的依赖关系树

haskell - `stack ghci app:exe:executable` 的 cabal 相当于什么?

haskell - 从依赖包的测试套件导入模块

haskell - Cabal 在需要分析库时没有安装依赖项?