找到一个 Haskell 模块所属的包
Find the package a Haskell module belongs to
我是 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 在 her/his 回答中指出的那样,stack install
是上述情况的错误命令。请改用 stack build
。
在 Hackage, the top-left portion of the page header will always give the package, version number, and description. On the page you link 中浏览包文档时,它在这里:
您还可以使用右上角的“目录”link 转到 extra
包的主页,其中提供了完整的模块列表、许可、links 到包主页和错误跟踪器等。
作为旁注,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。它旨在用于安装通过 Stack 分发的 Haskell 编写的程序,因此您可以 stack install hlint
安装 hlint
linter,例如。
在这种情况下,因为extra
包没有可执行文件,stack install extra
和stack build extra
会做同样的事情,但最好养成使用[=的习惯18=] 当您不打算安装任何软件包二进制文件时,以避免意外。
我是 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 在 her/his 回答中指出的那样,stack install
是上述情况的错误命令。请改用 stack build
。
在 Hackage, the top-left portion of the page header will always give the package, version number, and description. On the page you link 中浏览包文档时,它在这里:
您还可以使用右上角的“目录”link 转到 extra
包的主页,其中提供了完整的模块列表、许可、links 到包主页和错误跟踪器等。
作为旁注,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。它旨在用于安装通过 Stack 分发的 Haskell 编写的程序,因此您可以 stack install hlint
安装 hlint
linter,例如。
在这种情况下,因为extra
包没有可执行文件,stack install extra
和stack build extra
会做同样的事情,但最好养成使用[=的习惯18=] 当您不打算安装任何软件包二进制文件时,以避免意外。