我想指出我的全局电缆配置仅使用堆叠LTS。

在这种情况下,阴谋集团沙箱能提供任何价值吗?

据我了解,所有项目都将使用保证可以一起构建的一组预定软件包,因此不再存在阴谋诡计。

有没有什么方法可以预先构建所有可堆叠的LTS软件包,从而加快将来所有项目的构建速度?

最佳答案

为什么要使用沙箱?

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


并非每个软件包都在堆栈中,如果您最终使用了库或依赖于不属于堆栈的内容,则无法保证它将与其余的软件包一起使用。
沙箱除了可以防止阴谋诡计之外,还有其他用途。它们的另一个主要用途是能够添加本地目录作为包的源。例如,假设您已检出本地磁盘~/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/

10-11 13:06