2016-01-06 7 views
6

Kontext: Vor stack Ich habe lokal gestoppt hoogle, weil mein Index irgendwie Synchronisierung mit installierten Paketen verlieren würde. Wenn ich mich richtig erinnere, hatte ich Probleme mit verschiedenen Ergebnissen in ghci, Befehlszeile und cabal Sandboxes.Verwalten Sie Hoogle Index mit Stack-Tool

Kann ich die stack Umgebung nutzen, um meine lokalen hoogle Datenbanken zu verwalten?

+1

Dies [dieses GitHub-Problem] (https://github.com/commercialhaskell/stack/issues/55) im Auge zu behalten, könnte nützlich sein. Davon würde ich sagen, dass die Antwort heute wahrscheinlich "noch nicht" ist. –

+0

'stack hoogle generate - --local' hat für mich gearbeitet ... – mb21

Antwort

4

Für den Hoogle Teil ich die neueste Version git empfehlen, die Version 5, dass die Installation werden wird, zu tun:

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

es generieren Dann und verwenden Sie es mit:

# 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 

Um dies mit Cabal statt Stack zu machen, tun Sie cabal install zunächst, setzen Sie Ihre haddock/hoogle Präferenz in Ihrer Cabal Config-Datei auf True, und entfernen Sie die stack exec Bits.

+1

Das hat bei mir nicht funktioniert. Ich bekomme eine große lange Liste von 'Pakete nicht gefunden: Aeson ...' –

+0

^beim Versuch, 'hoogle generieren' –

+0

Mit Stack 1.5.1, Hoogle 5.0.13, nach ziemlich langen Schellfischphase in einem Projekt zu verwenden, das ich bekam Packages fehlende Dokumentation: Adjunctions aeson ... 'und die meisten Pakete sind nicht indiziert. Ich würde eine Antwort bevorzugen, die erklärt, was benötigt wird, da Werkzeuge nicht zuverlässig sind und manuell korrigiert werden müssen. – sevo