gpt4 book ai didi

haskell - 如何缓存 Haskell 依赖项以加快编译时间?

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

问题:我正在开发一个使用堆栈 (+ nix) 的 Haskell 项目。我们有一个需要 10 多分钟才能编译的依赖项。每次我们清理 .stack-work 时,我们都必须等待这个巨大的包编译,这确实损害了我们项目的效率。包名称是 godot-haskell,以下是我们的 stack.yaml 中如何依赖该包:

extra-deps:
- godot-haskell-0.1.0.0@sha256:9d92ff27c7b6c6d2155286f04ba2c432f96460f448fd976654ef26a84f0e35a6,26290

问题:有没有办法让我们以某种方式缓存这个包(在堆栈中,甚至在 nix 中),以便它在本地永远不需要编译(或者最多只能编译一次) ,即使 .stack-work 目录被删除)?

最佳答案

对于当前发布的 Stack,实现此目的的最佳方法是将 extra-dep 放入自定义快照文件中,而不是 stack.yaml 文件中的 extra-deps 。 (即将发布的 Stack 版本有一个称为“隐式快照”的功能,它回避了这一点。)您可以在 Stack 存储库本身中看到这样的示例:

关于haskell - 如何缓存 Haskell 依赖项以加快编译时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54351314/

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