【问题标题】:how to use a my own Haskell library in a stack project?如何在堆栈项目中使用我自己的 Haskell 库?
【发布时间】:2021-03-04 18:56:50
【问题描述】:

我有一个使用堆栈编译的 Haskell 库。 我现在需要在另一个 Haskell 堆栈项目中使用它。 为此,我已将其当前版本添加到我的新项目的stack.yamlextra_deps 中,并将其列在其可执行文件之一的build_depends 中。 但是,当我运行stack build 时,它显然会尝试从 Internet 下载库。如何指定库是本地的以及在哪里可以找到它?

提前致谢!

【问题讨论】:

  • @DDub,这个答案很老了。使用我的 Stack 版本时出现错误:“忽略无法识别的字段 $.packages”
  • 你跑过stack install还是只是stack build?。我认为(不确定)stack install 命令会将编译后的库添加到本地依赖项中。完成后,您可以从其他包中导入。
  • @DDub 这正是我正在寻找的答案,但正如 michid 所说,它不再有效。
  • @Ismor:我试过了,没用,我相信那是因为堆栈只安装可执行文件(而不是库)

标签: haskell cabal haskell-stack


【解决方案1】:

您可以在stack.yamlextra-deps 部分使用github coordinates

extra-deps:
- github: snoyberg/http-client
  commit: a5f4f30f01366738f913968163d856366d7e0342

然后在你的package.yaml中添加依赖:

dependencies:
- http-client >= 0.1.0.0

【讨论】:

  • 我在询问如何使用 local 库,但这与 github 一起解决了我的问题。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
相关资源
最近更新 更多