如何链接到本地​​ Haskell 库?

hli*_*liu 3 haskell haskell-stack

当前有两个带有堆栈和 cabal 文件的项目(我使用堆栈来构建),一个是名为 test 的 exe,另一个是名为 testlib 的库。我想在测试项目中使用 testlib,我该怎么做才能让堆栈知道 testlib 是一个自定义库以及如何找到它?

-- projects/test/test.yaml
-- projects/testlib/testlib.yaml
Run Code Online (Sandbox Code Playgroud)

hli*_*liu 5

我找到了答案。

extra-deps解决了这个问题。

test.yaml 看起来像:

...
extra_deps:
- ../testlib-1.0.0
...
Run Code Online (Sandbox Code Playgroud)

应该注意两点:

  1. 路径应该相对于包含 test.yaml 的目录
  2. 目标库的名称应该像 LIBNAME-VERINFO1.VERINFO2

欢迎任何更好的解决方案。非常感谢您的帮助!