"cabal-dev"和"cabal sandbox init"如何相互关联?



看来我错过了什么。据我了解,cabal sandbox init说从当前文件夹和所有子文件夹开始,所有cabal install命令的范围都限定为沙箱。因此,此文件夹之外的所有内容都不在沙盒中。

那么阴谋集团开发的目的是什么呢?我应该在沙盒中使用cabal install还是cabal-dev install

TLDR,cabal-dev是沙盒的初始解决方案,cabal sandbox是完全集成的实现。

直到几个月前,还没有令人愉快的方法来使用 cabal 沙盒构建。对于任何库维护者或任何可能担心依赖冲突的人来说,这都是一个巨大的问题。为了解决这个问题,几个人一起做了一个叫做 cabal-dev 的工具。它补充了cabal,并增加了一些沙盒功能。

现在,在1.18版本中,这已经存在了几年之后,cabal已经获得了沙盒!这意味着我们可以从使用 cabal + cabal-dev 切换到仅使用 cabal cabal现在已经包含cabal-dev .

此外,因为沙盒完全集成到阴谋集团中,它们与其他阴谋集团的功能很好地配合,比如cabal repl这对cabal-dev来说是不可能的。

最后,最近在 Haskell-Cafe 邮件列表上的喋喋不休表明,cabal-dev不太可能维护太久,所以除了 1-2 个当前的错误之外cabal sandbox没有理由不切换。

最新更新