【发布时间】:2021-08-22 09:42:42
【问题描述】:
cabal-version: 3.4
name: SudokuSolver
version: 0.1.0.0
build-type: Simple
library sud
build-depends:
base
, text
hs-source-dirs: lib
exposed-modules: Sud.Rdg
default-language: Haskell2010
executable suSol
default-language: Haskell2010
hs-source-dirs: app
main-is: Main.hs
build-depends:
base
, optparse-applicative
, filepath
, text
当我运行“cabal build sud”时,一切正常。 但是,当我运行“cabal build suSol”时,出现以下错误:
无法加载模块“Sud.Rdg” ~ │ 它是隐藏包‘SudokuSolver-0.1.0.0’的成员。 ~ │ 也许你需要在你的 .cabal 文件的 build-depends 中添加“SudokuSolver”。 ~ │ 使用 -v(或 ghci 中的
:set -v)查看搜索到的文件列表。
这是我有点不知所措的地方,阴谋集团建议我将此项目本身添加为构建依赖项?如果我这样做,我会得到:
错误:依赖于无法构建的包 SudokuSolver
│ 在 'executable suSol' 节中 |在就地包中 'SudokuSolver-0.1.0.0'
这对我来说很有意义,显然您不能将自己添加为构建依赖项。
但是我在这里错过了什么?
编辑:
如果我将 sud 添加到 build-depends 和“cabal build suSol”中,我会得到:
解决依赖关系...
阴谋集团:无法解决依赖关系:[__0] 尝试: SudokuSolver-0.1.0.0(用户目标)[__1] 未知包:sud (SudokuSolver 的依赖)[__1] 失败(回跳,冲突集: SudokuSolver, sud) 搜索依赖树的其余部分后 详尽地说,这些是我最难以实现的目标: SudokuSolver, sud
【问题讨论】:
-
将
sud添加到您的build-depends的executable -
感谢您的快速响应,如果我这样做,我会收到“未知包”。我认为这是正常的,因为 sud 不是一个包,对吗?我将完整的输出添加到问题中。