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
)。
在普通的堆栈项目中,我可以在 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
)。