haskell - 查找 Haskell 模块所属的包

标签 haskell haskell-stack hackage

我是 Haskell 堆栈的新手,想知道如何找出包含特定模块的包的名称。
目前,我想使用 Data.Tuple.Extra(fst3) ( https://hackage.haskell.org/package/extra-1.7.9/docs/Data-Tuple-Extra.html ) 并想知道我应该在下面写什么

    $ stack install ????
我已经安装了tuple包,然而,它似乎不包括 Extra部分。
到目前为止,我发现的所有关于安装包的 Internet 资源都说“要使用 Blahblah.Anything.Something,您需要安装 foofoo 包”。 . .一个人怎么知道?我搜索了 Stackage,但它只显示了 Data.Tuple.Extra 的文档我仍然找不到包裹的名称。
编辑:K.A.Buhr在她/他的回答中注明,stack install是上述情况的错误命令。使用stack build反而。

最佳答案

Hackage 中浏览软件包文档时,页眉的左上角总是会给出包、版本号和描述。在 page you link , 它在这里:
enter image description here
您也可以使用右上角的“目录”链接转到 extra 的主页。包,它提供了完整的模块列表、许可、包主页和错误跟踪器的链接等。
作为旁注,stack install extra从技术上讲,“安装”这个包的命令是错误的。如果你想制作 extra可在 Stack 全局项目中使用的包,正确的命令是 stack build extra .如果你想使用 extra在堆栈项目中,然后您要添加 extra到你包的 xxx.cabal 中的依赖项或 package.yaml文件,然后运行 ​​stack build (无参数)构建和安装它以在您的项目中使用。
相比之下,stack install命令等效于 stack build --copy-bins它将包中的所有可执行文件复制到 ~/.local/bin所以他们会在你的路上。见Stack docs .它旨在用于安装用 Haskell 编写并通过 Stack 分发的程序,因此您可以执行 stack install hlint安装 hlint例如, Lint 。
在这种情况下,因为 extra包没有可执行文件,stack install extrastack build extra会做同样的事情,但最好养成使用 stack build 的习惯当您不打算安装任何软件包二进制文件时,以避免意外。

关于haskell - 查找 Haskell 模块所属的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66583255/

相关文章:

haskell - 为什么我找不到 NotQuiteCofree not-quite-comonad 的任何违法行为?

haskell - 独立的 Haskell Executable 可以在具有相同操作系统的机器上运行吗?

opengl - Haskell:由于缺少依赖项(已安装在那里),无法安装 OpenGL

Haskell、Hackage、GHC 和生产力。结合实际例子如何解决?

haskell - 如何指示 haddock 链接到 hackage 软件包的 hackage 文档?

algorithm - Haskell 中惰性求值和严格求值的比较

haskell - Threepenny-GUI:拖放 - 访问 DragData

haskell - 量化约束与(封闭)类型族

xcode - 在 OS X mojave 上安装 Haskell 时出现 "macOS_SDK_headers_for_macOS_10.14.pkg is incompatible with this version of macOS"

haskell - 在多包堆栈项目中搜索符号