【问题标题】:Local install packages with Stack for use with runhaskell带有 Stack 的本地安装包以与 runhaskell 一起使用
【发布时间】:2018-01-23 10:45:40
【问题描述】:

我正在开发许多我缩进用作脚本文件的小型 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
  | ^^^^^^^^^^^^^^^^^^^^^^^

我考虑了两种选择:

  1. 使用 cabal 包并在其中指定依赖项。我不喜欢这个解决方案,因为它(据我所知)用于我总是编译代码的工作流程中。我想改用stack runhaskell

  2. 放弃堆栈并直接使用 cabal,正如在 SO:https://stackoverflow.com/a/13485987/4050510 上对类似问题的回答中所建议的那样。我不喜欢这样,因为我想在某个文件中明确列出我的所有依赖项。

在本地从 hackage 安装软件包,然后可用于stack runhaskell 的最简单方法是什么?

【问题讨论】:

    标签: haskell haskell-stack


    【解决方案1】:

    您可能想要使用脚本解释器。对不起,答案很简洁,但我在打电话。这是它的文档:https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter

    您也可以只执行“stack build regex-posix”,然后该包将可用于 runhaskell。但是,这更容易出错,因为没有使用包隐藏,因此很难判断脚本实际依赖于什么

    【讨论】:

    • 脚本解释器可以满足我的需要,因为它会写出所有依赖项,因此我在版本控制下有依赖项。好的。谢谢!
    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2013-06-19
    相关资源
    最近更新 更多