`stack clean`和删除`.stack-work`目录有什么区别?

14

1 上下文

我参与了一个涉及大量C语言代码和FFI的Haskell项目。因此,我经常需要运行和重复运行以下命令:

$ stack build
$ stack build --force-dirty
$ stack clean
$ rm ./.stack-work

为了正确链接 C 位,需要一遍又一遍地运行 stack build。换句话说,有时候只需要运行 stack build,就可以正常工作,有时候不行(在这种情况下,我被迫反复执行上述命令,直到我的项目成功构建)。

这意味着我对于 stack(通过 ghc)如何在组装 Haskell 位之前组装 C 位并没有透彻的理解。因此,以下是一个问题,以帮助我开始消除困惑:

2 问题

使用 stack clean 和删除 .stack-work 目录的内容之间是否有值得注意的区别?是否有必要删除 .stack-work 目录以确保进行干净的构建?


1
如果您经常在使用stack build时遇到链接问题,请创建一个错误报告! - sjakobi
1
在一个单一包项目中,stack clean --full 基本上是 rm .stack-work 的别名。 - sjakobi
1
这个问题记录了 stack clean--full 选项是如何创建的。 - SnowOnion
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接