在堆栈中更新全局 GHC/i 快照



我对整个Haskell生态系统和TBH都很陌生,大部分时间都在学习Haskell,我花了很长时间使用Haskellfor Mac。现在我正在尝试使用Haskell工具堆栈手动处理项目,因为每个人都鼓励这种使用Haskell的方式。

在Project目录中使用堆栈时,一切都非常简单,我调用stack setup,我准备好使用stack.yaml中生成或指定的解析器版本(通常是最新版本)。

当我想在项目外部使用stack ghci时,我的担忧就开始了,因为它使用~/.stack/global-project/stack.yaml中指定的resolver。当然,我可以手动将其更改为我想要的resolver版本,但是让我高兴的是,当我打电话stack upgrade或类似的东西时,它可以自动更新到最新的resolver

继续此升级,我可以以某种方式摆脱旧版本吗?因为~/stack/的大小很容易变得太大。假设我想实现类似stack resolver cleanup的东西,但它只会保留最新版本。我看到一些建议不时删除整个.stack目录作为清理方式,但这是相当硬核的方式,不是吗?

目前没有这样的命令。因此,如果您经常更改lts,您可以定期执行rm -rf ~/.stack。关于添加清理命令,有一个未解决的问题,您需要讨论其设计:https://github.com/commercialhaskell/stack/issues/133

但还没有人实施它。

最新更新