Boo*_*eJS 5 haskell haskell-stack git-worktree
我不能改变 GHC 的编译时间,但我可以控制编译的环境。我可以用git和stack做什么来最大程度地减少由于(重新)构建造成的停机时间?
Haskell 堆栈在.stack-work目录中缓存已编译的依赖项,它非常适合一次处理一件事。但是,我发现自己在分支之间来回切换。我已经git checkout到位了,也许有些.stack-work缓存是可用的。但是我非常喜欢git worktree在完全不同的目录中获取分支的副本。工作树在构建时间上尤其困难,因为每个工作树目录都有自己的.stack-work的 .
我一直在阅读有关 Nix 和 Haskell 的文章,但是由于堆栈创建了自己的缓存,因此它会忽略 Nix 编译和安装的任何内容。从我读到的内容来看,我真的希望 Nix 处理依赖项并使用堆栈来处理我的个人代码。我从 stackage and 中受益匪浅stack solver,所以我不想放弃它们。但是当我在运行时看到一整屏“取消注册”消息时stack build --only-dependencies && stack ghci,我知道我至少有 10-15 分钟的时间才能收到提示。
非常感谢!