如何使用Stack安装/使用本地版本的软件包?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Stack安装/使用本地版本的软件包?相关的知识,希望对你有一定的参考价值。
情况是,我正在尝试使用Stack安装Netwire。但是,最新的netwire 5.0.1存在一个问题,正如dhobbs报道的那样:http://hub.darcs.net/ertes/netwire/issue/13
由于我不知道何时会解决问题,我下载了回购并自行进行了更改。但是,我不明白如何安装这样的本地修补版本。 stack install
不会将其安装到~/.stack
。有没有人有想法?
更新
现在我正在使用Stack开发一些其他库。如何让另一个项目使用该库?硬编码相对路径看起来非常难看。
因此,您有一个项目,您想要使用本地修补的Netwire版本,在您的项目中,您有一个stack.yml
,例如:
flags: {}
packages:
- '.'
extra-deps: {}
resolver: lts-3.7
您还依赖于在cabal文件中声明的netwire
。
要在你的这个项目中使用修补的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)
以上是关于如何使用Stack安装/使用本地版本的软件包?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Burn Bootstrap 应用程序安装本地化的 MsiPackage