Haskell Cabal为所有已安装的软件包重新生成文档

时间:2011-07-03 15:30:11

标签: haskell documentation cabal

如何为所有本地安装的cabal包生成和安装文档?我在〜/ .cabal / config中打开了文档标志,这意味着所有新安装的软件包都会生成文档。但是如何为所有已安装的软件包生成文档?

有没有办法自动cabal install --reinstall所有已安装的软件包?更重要的是,这是一个好主意吗?

3 个答案:

答案 0 :(得分:4)

如果您有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文件。

答案 1 :(得分:3)

请注意cabal install --only-dep --reinstall does not work

如果您使用的是沙箱,则可以

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

-j选项允许它并行构建。

答案 2 :(得分:-1)

你可以在bash中尝试这样的事情。

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

但我真的不知道,这是不是一个好主意。