如何为使用Stack构建的Haskell项目设置可执行输出位置?

时间:2018-07-15 23:13:15

标签: haskell build compilation haskell-stack

在使用堆栈@import '~@angular/material/_theming.scss'; @include mat-core(); $candy-app-primary: mat-palette($mat-indigo); $candy-app-accent: mat-palette($mat-blue, A200, A100, A400); $candy-app-warn: mat-palette($mat-red); $candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn); @include angular-material-theme($candy-app-theme); build编译我的Haskell程序时,我试图将可执行文件写入project/dist/,但是无论我使用什么命令行参数或更改的配置文件,它总是结束于project/.stack-work/dist/x86_64-osx/Cabal-2.2.0.1/build/project/

花了相当多的时间查看stack命令的命令行参数以及project.cabalSetup.hsstack.yaml中的选项之后,我似乎找不到如何配置stack build的输出位置。

如何为stack build配置可执行输出位置?

2 个答案:

答案 0 :(得分:2)

您可以使用--copy-bins标志(或install命令)将可执行文件复制到某个输出目录。该目标目录可以用--local-bin-path控制,但在POSIX系统上默认为~/.local/bin

答案 1 :(得分:0)

stack path --local-install-root输出构建构件的路径。您只需要在此路径中添加/bin/name-of-my-exe即可获取可执行文件的路径。然后,您只需运行简单的单行bash脚本即可将可执行文件复制到所需位置。