带有 Stack 的本地安装包,用于 runhaskell
Local install packages with Stack for use with runhaskell
我正在开发许多小的 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 上对类似问题的回答中所建议的那样:。我不喜欢这样,因为我想在某个文件中明确列出我的所有依赖项。
从本地安装 hackage 软件包的最简单方法是什么,然后可用于 stack runhaskell
?
您可能想使用脚本解释器。很抱歉回答过于简洁,但我正在 phone。这是它的文档:https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter
您也可以只执行 "stack build regex-posix",然后该包将可用于 runhaskell。然而,这更容易出错,因为没有使用包隐藏,所以更难判断脚本实际依赖什么
我正在开发许多小的 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 上对类似问题的回答中所建议的那样:。我不喜欢这样,因为我想在某个文件中明确列出我的所有依赖项。
从本地安装 hackage 软件包的最简单方法是什么,然后可用于 stack runhaskell
?
您可能想使用脚本解释器。很抱歉回答过于简洁,但我正在 phone。这是它的文档:https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter
您也可以只执行 "stack build regex-posix",然后该包将可用于 runhaskell。然而,这更容易出错,因为没有使用包隐藏,所以更难判断脚本实际依赖什么