我是 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 , 它在这里:
您也可以使用右上角的“目录”链接转到 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 extra
和 stack build extra
会做同样的事情,但最好养成使用 stack build
的习惯当您不打算安装任何软件包二进制文件时,以避免意外。
关于haskell - 查找 Haskell 模块所属的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66583255/