使用堆栈工具管理hoogle索引

sev*_*evo 6 haskell hoogle haskell-stack

上下文:在stack我停止使用hoogle本地之前因为我的索引会以某种方式与已安装的软件包失去同步 如果我没记错的话,我在ghci命令行和cabal沙箱中遇到了不同结果的问题.

我可以利用stack环境管理本地hoogle数据库吗?

Nei*_*ell 5

对于Hoogle部分,我建议使用最新的git版本,它将成为版本5。要安装该版本,请执行以下操作:

git clone https://github.com/ndmitchell/hoogle.git
cd hoogle
stack init
stack install
Run Code Online (Sandbox Code Playgroud)

然后生成它,并将其用于:

# generate Haddock docs for all your packages
stack haddock
# generate the Hoogle index
stack exec -- hoogle generate --local --database=.stack-work/hoogle
# perform a search for map
stack exec -- hoogle map --database=.stack-work/hoogle
# start a server at http://127.0.0.1/ to browse docs
stack exec -- hoogle server --local --database=.stack-work/hoogle
Run Code Online (Sandbox Code Playgroud)

要使用Cabal而不是Stack进行此操作,请cabal install首先进行操作,将Cabal配置文件中的haddock/ hoogle首选项设置为True,然后删除这些stack exec位。