我对整个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
但还没有人实施它。