Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为使用堆栈构建的Haskell项目设置可执行输出位置?_Haskell_Build_Compilation_Haskell Stack - Fatal编程技术网

如何为使用堆栈构建的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