Haskell Cabal регенерирует документацию для всех установленных пакетов - PullRequest
14 голосов
/ 03 июля 2011

Как мне сгенерировать и установить документацию для всех локально установленных пакетов cabal?Я включил флаг документации в ~ / .cabal / config, что означает, что все вновь установленные пакеты также будут иметь документацию.Но как создать документацию для всех уже установленных пакетов?

Есть ли способ автоматически cabal install --reinstall всех уже установленных пакетов?И что более важно, это хорошая идея?

Ответы [ 3 ]

4 голосов
/ 04 июля 2011

Если у вас последняя версия cabal-install (я думаю, что> = 0.10), вы можете попробовать сделать

$ cabal install --reinstall --upgrade-dependencies world

К сожалению, в моем случае это не сработало:

$ cabal install --dry-run --reinstall world
Resolving dependencies...
cabal: cannot configure Agda-2.2.10. It requires haskell-src-exts >=1.9.6 &&
<1.10
For the dependency on haskell-src-exts >=1.9.6 && <1.10 there are these
packages: haskell-src-exts-1.9.6. However none of them are available.
haskell-src-exts-1.9.6 was excluded because haskell-src-exts-1.11.1 was
selected instead
haskell-src-exts-1.9.6 was excluded because hlint-1.8.12 requires
haskell-src-exts ==1.11.*

Если вы столкнулись с такой ошибкой, вы можете попробовать вручную отредактировать файл ~/.cabal/world.

3 голосов
/ 29 сентября 2014

Обратите внимание, что cabal install --only-dep --reinstall не работает .

Если вы используете песочницу, вы можете сделать

cabal sandbox delete
cabal sandbox init
cabal install -j --only-dep --enable-documentation

Опция -j позволяет строить параллельно.

0 голосов
/ 04 июля 2011

Вы можете попробовать что-то подобное в bash.

for pkg in `ghc-pkg list --simple`
do
cabal install $pkg --reinstall
done

Но я действительно не знаю, хорошая ли это идея.

...