我正在开发许多小的haskell程序,我将其作为脚本文件使用。我理想的用例是stack runhaskell one-of-the-scripts.hs
来运行它们。
某些文件使用hackage中的包依赖,例如regex-posix。因此我收到一条错误消息
Could not find module `Text.Regex.Posix'
Use -v to see a list of the files searched for.
|
2 | import Text.Regex.Posix
| ^^^^^^^^^^^^^^^^^^^^^^^
我考虑过两个选择:
使用cabal包并在其中指定依赖项。我不喜欢这个解决方案,因为它(据我所知)在我总是编译代码的工作流程中使用。我想改用stack runhaskell
!
沟渠堆叠并直接使用cabal,正如在SO:https://stackoverflow.com/a/13485987/4050510上对类似问题的回答中所建议的那样。我不喜欢这个,因为我希望明确地将所有依赖项列在某个文件中。
从hackage本地安装软件包的最简单方法是什么,然后可用于stack runhaskell
?
答案 0 :(得分:1)
您可能想要使用脚本解释器。很抱歉答案简明扼要但我在手机上。这是以下文档:https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter
您也可以执行"堆栈构建regex-posix",然后该程序包将可用于runhaskell。但是,这更容易出错,因为没有使用包隐藏,因此告诉脚本实际依赖的内容比较麻烦