我正在使用多个stack.yaml
文件来构建GHC 7.8和7.10。如何设置PATH
以包含特定stack.yaml
文件的二进制文件,例如stack-7.8.yaml
?
答案 0 :(得分: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
注意:此处也可以使用stack exec
命令,但我不希望通过调用stack --stack-yaml stack-7.8.yaml exec <cmd>
而不是普通<cmd>
来混乱我的脚本。
答案 1 :(得分:0)
要回答标题中的问题,可执行文件存储在项目本地的.stack-work
文件夹中。对我来说,项目文件夹的完整路径是.stack-work/dist/e626a42b/build/{PROJECT_NAME}-exe
。其他可执行文件,例如测试可执行文件和基准可执行文件,也分别存储在{PROJECT_NAME}-test
和{PROJECT_NAME}-bench
中。