重新安装cabal-dev的行为



我一直在使用的最新cabal安装(0.13.3,来自darcs repo)很好;它可以让你知道什么时候你可能会破坏你的GHC安装与重新安装。我想知道的是:假设cabal install foo执行重新安装,就会破坏我的GHC。如果我改为cabal-dev install foo会发生什么?我能避免打破GHC吗?我真的可以在cabal开发沙盒中使用foo包吗?还是它只是一个坏沙盒?

示例:yesod,GHC 7.4.1,cabal dev 0.9从github源代码构建,cabal 1.14.0库。

只是澄清一下,如果我理解得对,那么在任何一种情况下,你都没有违反GHC。我相信你指的是安装一个包,然后重新安装另一个包的一个底层依赖项,从而破坏另一个程序包的依赖链,使其在使用时无法正常工作/编译。简单地从你的主文件夹中删除.ghc并重新安装cabal通常可以解决这个问题,尽管这是一种非常痛苦的方式。

当您使用cabal-dev时,所有的cabal安装步骤和ghc pkg注册步骤都是在本地沙箱环境中完成的。您的全局/用户ghc程序包是,根本没有被触及。由于您通常会为每个项目实例化一个cabal开发沙盒,所以通常不会发生上述冲突。

为了回答你的问题,这完全取决于特定的阴谋集团开发沙盒中已经安装了什么。如果没有冲突,就不会破坏任何东西。如果您正在强制使用--reinstall,则可能需要--reinstall本地cabal dev沙盒中的任何包,这些包取决于您刚刚重新安装的包。

在任何情况下,GHC安装本身都不会中断(或以任何方式更改),您可以始终在项目文件夹下rm -rf cabal-dev并重做cabal-dev install

希望这能有所帮助。

最新更新