加速Haskell堆栈项目编译和git分支

时间:2017-07-05 15:31:37

标签: haskell haskell-stack git-worktree

我无法改变GHC的编译时间,但我可以控制编译事物的环境。我可以用 git 堆栈做些什么来最大限度地减少(重新)构建造成的停机时间?

Haskell堆栈在.stack-work目录中缓存已编译的依赖项,它非常适合一次处理一件事。但是,我发现自己在分支之间来回切换。我已经完成了git checkout,也许某些.stack-work缓存可用。但我非常希望git worktree能够在不同的目录中获得分支的副本。 Worktree在构建时特别困难,因为每个worktree目录都有自己的.stack-work,因此必须下载/配置/编译/安装自己的依赖项而不是使用现有的依赖项。

我一直在阅读有关Nix和Haskell的一些内容,但是由于堆栈创建了自己的缓存,它忽略了Nix编译和安装的任何内容。从我读过的内容来看,我真的希望Nix能够处理依赖关系并使用堆栈来处理我的个人代码。我从stackage和stack solver中获益匪浅,所以我不想放弃它们。但是,当我看到一个"取消注册"运行stack build --only-dependencies && stack ghci时的消息,我知道我得到提示之前至少有10-15分钟。

非常感谢!

0 个答案:

没有答案