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

The*_*ist 5 haskell compilation build haskell-stack

build使用Stack project/dist/编译Haskell程序时,我试图将可执行文件写入其中,但是无论我使用什么命令行参数或更改的配置文件,它始终以结尾project/.stack-work/dist/x86_64-osx/Cabal-2.2.0.1/build/project/

花时间寻找在命令行参数体面的数额后stack命令,以及期权project.cabalSetup.hs以及stack.yaml,我似乎无法找到如何配置的输出位置stack build

如何配置可执行文件的输出位置stack build

Mic*_*man 10

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


She*_*rsh 6

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

完整命令的完整性:

cp "$(stack path --local-install-root)/bin/name-of-my-exe" ~/.local/bin/name-of-my-exe
Run Code Online (Sandbox Code Playgroud)