我想指出我的全局电缆配置仅使用堆叠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/