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

pra*_*nar 21 haskell cabal cabal-install

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

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

这条消息背后的原因是什么?

kos*_*kus 16

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

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

  • @SeanLeather不那么危险,所以也许`cabal-install`的输出应该稍微改进一下.在沙箱中重新安装仍然可以破坏使用沙箱的包(沙箱可以在多个项目之间共享,尽管这并不常见).但它至少不会破坏任何不使用沙箱的东西. (3认同)
  • 重新安装在沙箱中总是危险的吗? (2认同)