将堆栈安装‘-标志’传递给堆栈运行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (7)

如何传递旗帜,stack run就像我一样stack install --flag asd:qwe

提问于
用户回答回答于

我找不到办法做到这一点,所以这是我建议的解决方法:

而不是使用stack run ...stack build直接使用和运行程序来构建应用程序。

所以,而不是使用

# The Problem: This doesn't work because run doesn't recognize --flag

> stack run --flag asd:qwe

使用以下两步法:

  1. stack build --flag asd:qwe
  2. ./path/to/your/executable/<your executable>

如果您使用stack install的不是stack build,堆放编译后的二进制中local-bindirectory.¹ 文档建议您将此目录添加到您的$ PATH变量,这意味着你可以调用<your-executable>

此响应的其余部分假定您正在使用stack build

在我的系统上(Arch linux,May '19,stack 1.9.3.1),stack将编译后的二进制文件放在bin-folder中local-install-root。(显示使用stack path --local-install-root。)

应该是可执行文件的完整路径 <local-install-root>/bin/<executable-name>

¹根据“用户指南”,人们经常会对其含义产生混淆stack install。它是一个别名stack build --copy-bins,它只是将二进制文件复制到local-bin-path构建之后,这使得它在$ PATH包含时通常可用local-bin-path

扫码关注云+社区

领取腾讯云代金券