应该将 stack.yaml.lock 签入源代码管理吗?

yai*_*chu 5 version-control haskell haskell-stack

由于堆栈 v2,stack产生一个stack.yaml.lock文件。

这个文件是否应该提交给源代码管理,比如stack.yaml?还是应该是.gitignored?

一方面它是生成的内容而不是源代码,另一方面它包含来自 Hackage 的依赖项的哈希值,因此它对于安全的可重现构建是必要的。

Dan*_*ton 6

是的。这是锁定文件存在的部分原因:可重现的构建。

这些文件可以存储在源代码控制中 其他机器上的用户可以重用这些锁定文件并获得相同的构建计划,前提是这些机器上使用的本地包和本地快照相同

https://docs.haskellstack.org/en/stable/lock_files/#lock-files