2016-01-06 5 views
6

Контекст: До stack Я прекратил использование hoogle локально, потому что мой индекс каким-то образом потеряет синхронизацию с установленными пакетами. Если я правильно помню, у меня были проблемы с разными результатами в ghci, командной строке и cabal песочницах.Управление индексом hoogle с помощью инструмента «Стек»

Могу ли я использовать stack окружающую среду для управления местными локальными базами данных hoogle?

+1

Следует обратить внимание на этот [этот вопрос github] (https://github.com/commercialhaskell/stack/issues/55). Из этого я бы сказал, что ответ сегодня, вероятно, «еще нет». –

+0

'stack hoogle generate - --local' работал для меня ... – mb21

ответ

4

Для части Hoogle я рекомендую использовать последнюю версию Git, которая станет версия 5. Чтобы установить, что делать:

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

Затем генерировать и использовать его с:

# 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 

Чтобы сделать эту работу с Cabal вместо Stack, сделайте сначала cabal install, установите haddock/hoogle в вашем конфигурационном файле Cabal до True и удалите stack exec бит.

+1

Это не сработало для меня. Я получаю большой длинный список 'Packages not found: aeson ...' –

+0

^при попытке использовать 'hoogle generate' –

+0

С стеком 1.5.1, hoogle 5.0.13, после довольно длинной фазы пикши в проекте, я получил' Пакеты отсутствуют документация: дополнения aeson ... 'и большинство пакетов не индексируются. Я бы предпочел ответить, что объясняет, что нужно, поскольку инструменты не надежны и их необходимо вручную исправить. – sevo