dac*_*ave 3 haskell cabal haskell-stack
我是新手,但并不精通Cabal。
我已经将一个cabal项目转换为堆栈。看起来一切正常。我喜欢它,到目前为止。
但是我发现了一些我不理解的东西。执行堆栈构建命令时,我看到创建了两个输出可执行文件。两者都在.stack-work路径中,一个在dist下,另一个在安装下。它们的大小完全不同。dist路径中的文件几乎是安装路径中文件大小的两倍。
我唯一能想到的解释是dist路径中的可执行文件可能包含(嵌入在其自身中)在不同机器上运行此代码所需的所有程序包依赖项(它是完整的并准备分发到)。 (在另一台计算机上),而安装路径中的文件则希望该文件在构建该计算机以及将这些依赖库安装在主应用程序代码外部的同一计算机上运行。
那有意义吗?
还有其他解释吗?
戴夫·史密斯