为什么cabal重新安装“总是危险的”?

时间:2013-10-30 19:55:38

标签: haskell cabal cabal-install

使用Cabal重新安装软件包时,通常会看到此警告:

  

警告:请注意,重新安装始终是危险的。无论如何......继续......

此消息背后的原因是什么?

1 个答案:

答案 0 :(得分:16)

目前,重新安装软件包意味着破坏性地覆盖已安装的软件包。如果旧包在系统上有任何反向依赖性,它们将不再有效。

为了降低这种可能性,cabal-install会在调用此类反向依赖项时检查它有权访问的包数据库并列出它们。在这种情况下,需要--force-reinstalls才能继续。但即使没有找到任何反向依赖关系,也并不意味着没有反向依赖关系。系统中的其他位置(例如,多个用户数据库)或已根据要覆盖的旧版本软件包配置的项目目录可能存在其他软件包数据库。 cabal-install无法完全确定,这就是为什么它警告重新安装总是危险的。