haskell`stack`命令用于卸载/清理?

时间:2018-02-05 17:13:03

标签: haskell haskell-stack

stack setup下载并安装GHC for project,

  

~/.stack/programs
  ~/.stack/snapshots   以及我还不知道的其他地方)

     

stack build下载依赖项并构建它们   ~/.stack/setup-exe-cache和其他地方。

我想清理项目范围内的ghc并从中下载依赖项/构建输出,以及我磁盘上所有其他与项目相关的内容。

除了手动删除它们之外别无法做到这一点吗?

1 个答案:

答案 0 :(得分:8)

stack clean命令清除.stack-work中的本地缓存。

尚未实现清除.stack缓存的功能。请参阅此GitHub问题:

stack setup为项目安装GHC,但它在全球范围内存储GHC(因此,如果此项目使用相同版本的GHC,则不需要为另一个项目再次安装GHC)。

您可以执行rm -rf .stack-work清理项目本地构建缓存(构建模块,项目的github依赖项等)。但是,rm -rf .stack-work不适用于多包装项目。只需执行stack clean --full即可完全清除项目的本地缓存。

要清理全局缓存,您只需执行rm -rf ~/.stack

因此,再次引用问题讨论的最新评论:

  

垃圾收集问题肯定需要以某种形式回答。如果可能的话,我想我可能会找到一个比新命令更好的文档解决方案。如果手册讨论了~/.stack的目录结构并解释了哪些目录可以安全删除,那就太棒了。