当前,我在ubuntu 14.04系统上使用的是GHC 7.10.1,刚才我从邮件列表中注意到,已经发布了包含许多错误修复的新版本。因此,我正在考虑更新我的GHC。
我知道如何安装GHC,但是,我对如何处理已经通过安装的软件包一无所知cabal
。似乎这些软件包已安装到中~/.cabal
,例如libs已安装到中~/.cabal/lib/x86_64-linux-ghc-7.10.1
并在中注册~/.ghc/x86_64-linux-7.10.1
。
路径名(... x86_64-linux-7.10.1 ...)似乎暗示它们只能由所使用GHC 7.10.1
,因此,如果我想使用新版本的GHC并ghc 7.10.1
从系统中删除旧版本,我应该清理它们并重新安装那些软件包?
例如,我应该rm -rf ~/.cabal && rm -rf ~/.ghc
同时重新安装cabal和GHC吗?还是应该只把那些包裹留在那里?如果是这样,新安装的GHC是否可以重用那些已安装的软件包?
是的,更新编译器时需要重新安装软件包。
但是,如果删除~/.ghc
,则从GHC的角度删除软件包。您也可以删除~/.cabal
并重新安装所有内容,但是~/.cabal/bin
(包括cabal
)中的二进制文件通常仍然可以使用,因此保留它们并节省一些时间通常比较容易(请看一下其中的内容)。某些文件可能存在问题-我认为某些二进制文件可能在内部对GHC路径进行了硬编码,因此会中断,但您始终可以重新安装它们。
~/.cabal/packages
包含缓存的下载内容,因此是否删除该文件由您决定。下次您运行集团时,数据将再次被拉低。如有疑问,请将其删除。
您应该删除~/.cabal/lib
其中包含已编译的软件包,并且不会与其他GHC兼容。同样适用于~/.cabal/share
。
除非您~/.cabal/config
手动编辑文件并希望保留更改,否则也可以将其删除,然后将创建一个新文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句