如何为使用堆栈构建的Haskell项目设置可执行输出位置?
当如何为使用堆栈构建的Haskell项目设置可执行输出位置?,haskell,build,compilation,haskell-stack,Haskell,Build,Compilation,Haskell Stack,当build使用Stack编写Haskell程序时,我试图将可执行文件写入project/dist/,但无论我使用什么命令行参数或更改配置文件,它总是以project/.Stack work/dist/x86_64-osx/Cabal-2.2.0.1/build/project/结束 在花了相当长的时间查看了stack命令的命令行参数以及project.cabal、Setup.hs和stack.yaml中的选项之后,我似乎找不到如何配置stack build的输出位置 如何配置堆栈生成的可执行输
build
使用Stack编写Haskell程序时,我试图将可执行文件写入project/dist/
,但无论我使用什么命令行参数或更改配置文件,它总是以project/.Stack work/dist/x86_64-osx/Cabal-2.2.0.1/build/project/
结束
在花了相当长的时间查看了stack
命令的命令行参数以及project.cabal
、Setup.hs
和stack.yaml
中的选项之后,我似乎找不到如何配置stack build
的输出位置
如何配置堆栈生成的可执行输出位置?堆栈路径--local install root
生成工件的输出路径。您只需将my exe的/bin/name
添加到此路径即可获得可执行文件的路径。然后运行简单的单行bash脚本,将可执行文件复制到所需的位置
完整性的完整命令:
cp "$(stack path --local-install-root)/bin/name-of-my-exe" ~/.local/bin/name-of-my-exe
您可以使用--copy bins
标志(或install
命令)将可执行文件复制到某个输出目录。该目标目录可以用--local bin path
控制,但在POSIX系统上默认为~/.local/bin