`stack build`存储生成的可执行文件在哪里?

ntc*_*tc2 8 haskell haskell-stack

我正在使用多个stack.yaml文件来构建GHC 7.8和7.10.如何设置我PATH包含特定stack.yaml文件的二进制文件,例如stack-7.8.yaml

ntc*_*tc2 10

stack path --local-install-root命令解决了这个问题.例如,要设置二进制文件的路径stack --stack-yaml stack-7.8.yaml,请执行

export PATH=$(stack --stack-yaml stack-7.8.yaml path --local-install-root):$PATH
Run Code Online (Sandbox Code Playgroud)

注意:这个stack exec命令也可以在这里使用,但我不希望通过调用stack --stack-yaml stack-7.8.yaml exec <cmd>而不是普通的方式来混乱我的脚本<cmd>.


小智 5

为了回答标题中的问题,可执行文件存储在项目本地.stack-work文件夹中。对我来说,项目文件夹的完整路径是.stack-work/dist/e626a42b/build/{PROJECT_NAME}-exe. 其他可执行文件,例如测试和替补的可执行文件,也存放在这里,在{PROJECT_NAME}-test{PROJECT_NAME}-bench分别。