如何让堆栈看到依赖关系?

How to Make Stack See Dependencies?

我有两个堆栈项目,A 和 B。B 依赖于 A; B的stack.yaml如下:

resolver: lts-12.10
packages:
- .
- ../path/to/A/

A目录下存在文件../path/to/A/stack.yaml,stack build构建成功

在 B 的目录中,我 stack build --ghc-options -v 和堆栈构建 A,然后继续尝试构建 B,但未能找到 A 的模块。我不知道堆栈是如何工作的,但详细的输出显示 GHC 只在 ./.stack-work 和 ./src/ 中查找 - 而不是在 A 的目录中。 运行 stack dot 生成一个包含节点 A 和 B 的图表,但它们之间没有箭头。这就像堆栈看到 A 但不是 B 的依赖。

stack solver 报告无需进行任何更改。

使用最新的堆栈 (v1.7.1)

上找到了答案:我遗漏的部分是将 A 的包名称添加到 B 的 package.yaml 文件中的 dependencies 列表中。这并没有发生在更早的时候,因为我错误地认为 dependencies 仅适用于上游存储库包。