gpt4 book ai didi

haskell - 如何使用 Stack 安装/使用本地版本的包?

转载 作者:行者123 更新时间:2023-12-03 09:12:05 25 4
gpt4 key购买 nike

情况是,我正在尝试使用 Stack 安装 Netwire。但是,最新的 netwire 5.0.1 中存在一个问题,正如 dhobbs 报告的那样:http://hub.darcs.net/ertes/netwire/issue/13

由于我不知道问题何时会得到解决,所以我下载了 repo 并自己进行了更改。但是,我不明白如何安装这样的本地补丁版本。 stack install不会将其安装到 ~/.stack .有人有想法吗?

更新

现在我正在使用 Stack 开发其他一些库。如何让另一个项目使用该库?硬编码相对路径看起来非常难看。

最佳答案

因此,您有一个项目,您想使用本地修补的 Netwire 版本,并且在您的项目中,您有一个 stack.yml , 举个例子:

flags: {}
packages:
- '.'
extra-deps: {}
resolver: lts-3.7

您还依赖于 netwire在您的 cabal 文件中声明。

要在您的这个项目中使用已修补的 Netwire,您只需将已修补的 Netwire 包放在项目的子目录中,可能称为 netwire ,并更新您的 stack.yml像这样:

flags: {}
packages:
- '.'
- netwire
extra-deps: {}
resolver: lts-3.7

现在 stack build将使用修补过的 Netwire 版本构建您的项目。

您还可以将修改后的源放到网上(如果许可证允许)并使用 tarball URL 引用源
- https://example.com/netwire.tar.gz

或 git 存储库和提交引用:
- location:
git: git@example.com/netwire
commit: 6a86ee32e5b869a877151f74064572225e1a0398

(查看文档了解更多信息: https://docs.haskellstack.org/en/stable/yaml_configuration/#packages-and-extra-deps)

关于haskell - 如何使用 Stack 安装/使用本地版本的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com