如何找到提供导入的库?
How to find what library provides the import?
我加入了一个项目。代码库对我来说是新的。
我对代码库中使用的模块感兴趣
它是从依赖项导入的。
该模块未在项目中定义。
是否有一种自动/简便的方法来找出图书馆提供的内容
我感兴趣的模块?
很多依赖项是专有的,hoogle 无法帮助我。
您可以使用ghc-pkg find-module
命令:
$ ghc-pkg find-module Data.List
/opt/ghc/8.10.1/lib/ghc-8.10.1/package.conf.d
base-4.14.0.0
/home/simon/.ghc/x86_64-linux-8.10.1/package.conf.d
(no packages)
在使用自己的包 DB 的 stack
项目中,您必须将命令包装在 stack exec
:
中
$ stack exec -- ghc-pkg find-module Data.Fix
/home/simon/.stack/programs/x86_64-linux/ghc-8.6.5/lib/ghc-8.6.5/package.conf.d
(no packages)
/home/simon/.stack/snapshots/x86_64-linux/0d371d66c37115ac97bac3fbbc5cc7b3718e197710ba11b06c7e9d7fcf441a3f/8.6.5/pkgdb
data-fix-0.2.0
/home/simon/src/dhall-haskell/.stack-work/install/x86_64-linux/0d371d66c37115ac97bac3fbbc5cc7b3718e197710ba11b06c7e9d7fcf441a3f/8.6.5/pkgdb
(no packages)
我不确定如何在 cabal
项目中最好地使用 ghc-pkg
。
我加入了一个项目。代码库对我来说是新的。 我对代码库中使用的模块感兴趣 它是从依赖项导入的。 该模块未在项目中定义。
是否有一种自动/简便的方法来找出图书馆提供的内容 我感兴趣的模块?
很多依赖项是专有的,hoogle 无法帮助我。
您可以使用ghc-pkg find-module
命令:
$ ghc-pkg find-module Data.List
/opt/ghc/8.10.1/lib/ghc-8.10.1/package.conf.d
base-4.14.0.0
/home/simon/.ghc/x86_64-linux-8.10.1/package.conf.d
(no packages)
在使用自己的包 DB 的 stack
项目中,您必须将命令包装在 stack exec
:
$ stack exec -- ghc-pkg find-module Data.Fix
/home/simon/.stack/programs/x86_64-linux/ghc-8.6.5/lib/ghc-8.6.5/package.conf.d
(no packages)
/home/simon/.stack/snapshots/x86_64-linux/0d371d66c37115ac97bac3fbbc5cc7b3718e197710ba11b06c7e9d7fcf441a3f/8.6.5/pkgdb
data-fix-0.2.0
/home/simon/src/dhall-haskell/.stack-work/install/x86_64-linux/0d371d66c37115ac97bac3fbbc5cc7b3718e197710ba11b06c7e9d7fcf441a3f/8.6.5/pkgdb
(no packages)
我不确定如何在 cabal
项目中最好地使用 ghc-pkg
。