gpt4 book ai didi

haskell - 带堆栈的阴谋沙盒

转载 作者:行者123 更新时间:2023-12-02 16:10:09 28 4
gpt4 key购买 nike

我想将我的全局 cabal 配置指向仅使用 stackage LTS。

在这种情况下, cabal 沙箱有什么值(value)吗?

据我了解,不应该再有 cabal hell 了,因为所有项目都将使用一组预定的包,保证一起构建。

是否有任何方法可以预构建所有堆栈 LTS 包以加快所有 future 项目的构建速度?

最佳答案

为什么是沙箱?

我认为使用沙箱仍然有好处:

  • 并非每个包都在堆栈中,如果您最终使用库或依赖于不属于堆栈的内容,则无法保证它能够与其余包一起使用。

  • 沙箱除了防止 cabal hell 之外还有其他用途。它们的另一个主要用途是能够添加本地目录作为包的源。例如,假设您已 checkout 本地磁盘上的两个包 ~/code/a~/code/b可以说 b取决于a 。如果你想检查 b适用于您对 a 所做的一些更改您可以添加您本地的a结账作为 b 的来源的阴谋沙盒。

    cd ~/code/b
    cabal sandbox add-source ~/code/a
    cabal build

预构建 LTS 包

如果您设置了预构建所有软件包,则可以使用以下命令来安装 cabal.config 文件中列出的所有软件包。

cat cabal.config | sed -rn 's/^.* ([^ ]+) ==.*/\1/gp' | xargs cabal install

关于haskell - 带堆栈的阴谋沙盒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30039329/

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