【问题标题】:Using local packages with Haskell Stack在 Haskell Stack 中使用本地包
【发布时间】:2019-12-08 15:23:25
【问题描述】:

假设我有两个项目(project-aproject-b),我想将 project-a 包含到 project-b 中,而不将 project-a 上传到 stackage。我怎样才能像这样在本地发布包并将其包含到 project-b 中?

# package.yaml for project-b
dependencies:
- base      >= 4.7 && < 5
- project-a == 2.0.0.0

【问题讨论】:

  • 在官方文档中查找extra-depsdocs.haskellstack.org/en/stable/yaml_configuration
  • @arrowd 这是执行此操作的首选方法吗?另外,我如何将 project-a 打包为 zip 或 tar 文件?
  • @arrowd 找到了sdist这个命令,所以我知道怎么打包了。

标签: haskell haskell-stack


【解决方案1】:

特别感谢@arrowd 为我指明了正确的方向。这是对我问题的答案,但如果其他人有更好的答案,我会接受。

project a中运行命令

> stack sdist

这会将您的项目打包成一个 tarball 并显示它所在的目录。

然后转到project b,将以下内容添加到stack.yaml文件extra-deps部分下

extra-deps:
- archive: /path/to/project-a/tar/file

在您的 package.yaml 文件中的依赖项下

dependencies:
# other dependencies
- project-a == 2.0.0.0

然后运行

> stack build

project-a 将包含在 project-b 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-15
    • 1970-01-01
    相关资源
    最近更新 更多