2012-03-08 93 views
1

如果我在/ opt/ghc和/ opt/haskell(--global)中的所有Haskell库中安装了GHC,我将如何进行GHC升级?Haskell:为新的GHC安装提供软件包

我需要做的所有升级GHC的工作是删除它的目录并解开一个新的目录。 如何让这个新的GHC安装知道/ opt/haskell中的所有软件包? 我是否必须使用新的GHC重新编译所有软件包?有没有批量注册命令?

谢谢。

回答

1

这是一个坏主意。用一个GHC编译的软件包与另一个编译的软件包不兼容; ABI不稳定,升级到GHC的一个新的主要版本,实际上保证了以前编译的库不起作用。恐怕你升级GHC时必须重新编译你的软件包。

查看此GHC FAQ条目:Do I have to recompile all my code if I upgrade GHC?

+0

谢谢。尽管如此......尽管如此:非常不方便,如果你有大量的软件包驻留在〜/ .cabal或者某个全局位置。至少,有没有一种方便的方法来用新的编译器批量重新编译所有可用的软件包? – 2012-03-08 02:57:37

+0

'cabal install --reinstall world'应该这样做。 – ehird 2012-03-08 03:01:01