Haskell 堆栈脚本额外依赖

Haskell stack script extra deps

在普通的堆栈项目中,我可以在 stack.yaml 文件中添加 extra-deps:

extra-deps:
- text-1.2.2.0
- unm-hip-0.3.1.6
- safe-exceptions-0.1.4.0
- quickcheck-properties-0.1
- time-interval-0.1.1
- time-units-1.0.0
- snowball-1.0.0.1
- dictionaries-0.1.0.0
resolver: lts-8.3

allow-newer: true

但是如何在脚本中执行此操作?

#!/usr/bin/env stack
{- stack
    --resolver lts-8.5
    --install-ghc
    runghc
    --package MissingH
    --package process
    --package attoparsec
    --package split
    --package dictionaries
    --package bytestring
-}

可以使用例如

在命令行上指定额外的包
stack runghc --resolver lts-12.20 --package raven-haskell-0.1.2.0 ./using-sentry.hs

它不适用于文件 AFAICT 中的 shebang 样式

使用 shebang 样式时,您可以(至少现在)在脚本中执行 --extra-dep mypackage-1.3.3.7

感谢@lyxia 向我指出了这一点(更一般地说,我应该检查 stack script --help)。