2016-01-06 8 views
6

Kontekst: Przed stack lokalnie przestałem używać hoogle, ponieważ mój indeks w jakiś sposób stracił synchronizację z zainstalowanymi pakietami. Jeśli pamiętam poprawnie, miałem problemy z różnymi wynikami w ghci, linii poleceń i cabal piaskownic.Zarządzaj indeksem hoogle przy użyciu narzędzia stosu

Czy mogę wykorzystać środowisko stack do zarządzania lokalnymi bazami danych hoogle?

+1

Miej oko na to [ten problem z githubem] (https://github.com/commercialhaskell/stack/issues/55), może być przydatne. Odtąd powiedziałbym, że dzisiejsza odpowiedź jest prawdopodobnie "jeszcze nie". –

+0

'stack hoogle generate - --local' pracował dla mnie ... – mb21

Odpowiedz

4

Dla części Hoogle Zalecam używanie najnowszej wersji git, które staną się wersja 5. Aby zainstalować, że zrobić:

git clone https://github.com/ndmitchell/hoogle.git 
cd hoogle 
stack init 
stack install 

Następnie generować i używać go z:

# 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 

Aby to działało z Cabal zamiast Stack, najpierw wykonaj cabal install, ustaw preferencję haddock/hoogle w pliku konfiguracyjnym Cabal na True i usuń bity stack exec.

+1

To nie działało dla mnie. Dostaję dużą długą listę 'Pakietu nie znalezionego: aeson ...' –

+0

^kiedy próbuję użyć 'hoogle generate' –

+0

Ze stosu 1.5.1, hoogle 5.0.13, po dość długiej fazie plamiaka w projekcie dostałem' Brakująca dokumentacja pakietu: adjunctions aeson ... 'i większość pakietów nie jest indeksowana. Wolę odpowiedź wyjaśniającą, co jest potrzebne, ponieważ oprzyrządowanie nie jest niezawodne i wymaga ręcznej korekty. – sevo