gpt4 book ai didi

haskell - 直接从 git 存储库安装 Haskell 包?

转载 作者:行者123 更新时间:2023-12-02 02:15:55 25 4
gpt4 key购买 nike

stack允许使用 stack.yaml 将 git 存储库定义为包文件。是否可以直接通过命令行执行以下操作:

stack install --resolver=lts-12.1 git@github.com:saurabhnanda/some-repo.git

用例:安装我在 docker 期间编写的命令行工具构建过程。我想避免克隆 repo 然后构建它。有这方面的简写吗?

最佳答案

编辑

新解决方案

提交答案后,我想到了一个单独的解决方案。

您可以创建自定义 custom-snapshot.yaml存储库中扩展某些现有快照的文件,例如 lts-15.3例如。以与将其添加到 stack.yaml 类似的方式将您的包添加到其中.
安装工具时的要点:

$ stack install --resolver https://raw.githubusercontent.com/saurabhnanda/my-cool-tool/master/custom-snapshot.yaml my-cool-tool

even shorter :
$ stack install --resolver github:saurabhnanda/my-cool-tool:custom-snapshot.yaml my-cool-tool 

免责声明 - 我没有尝试过,但理论上它应该可以工作。

旧解决方案

如果没有 stack.yaml,我认为您无法在 cli 上执行此操作

所以有两个选择:
  • 使用 stack new 创建一个临时项目将您的存储库添加到 stack.yaml
  • 或将相同的信息添加到全局 stack.yaml ,其位置可以通过编程找到:

  • $ stack path --config-location
    /home/saurabhnanda/.stack/global-project/stack.yaml

    并将其添加到 extra-deps :

    - github: saurabhnanda/some-repo
    commit: master
    subdirs:
    - my-cool-tool

    之后运行 stack install my-cool-tool应该正常工作。

    我不认为编写一个 Haskell 脚本可以为您执行这两种解决方案中的一种并作为主旨可以是 curl 的主旨并不太难。使用 stack 按需编辑和执行.

    关于haskell - 直接从 git 存储库安装 Haskell 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60742474/

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