如果出现问题,如何清理 nix 风格的 cabal?

How to cleanup nix style cabal if soemthing is out of order?

还记得我们拥有 nix 风格的阴谋集团之前的那些日子吗? 当我们进入 cabal hell 时,我们可以删除 2 个目录 .cabal.ghc 并在干净的 cabal 环境下重新启动。

现在我想,在我的一台机器上出了点问题,我的 nix 风格 v2-cabal 存储库出现故障。

如果我这样做 cabal v2-install --dry-run directory 我得到:

Resolving dependencies...
cabal: Could not resolve dependencies:
[__0] next goal: directory (user goal)
[__0] rejecting: directory-1.3.4.0 (constraint from user target requires
==1.3.3.2)
[__0] trying: directory-1.3.3.2
[__1] next goal: ghc (user goal)
[__1] rejecting: ghc-8.6.5, ghc-8.6.4 (constraint from user target requires
==8.6.3)
[__1] rejecting: ghc-8.6.3/installed-8.6... (conflict: directory==1.3.3.2, ghc
=> directory==1.3.3.0/installed-1.3...)
[__1] rejecting: ghc-8.6.1, ghc-8.4.4, ghc-8.4.3, ghc-8.4.1, ghc-8.2.2,
ghc-8.2.1 (constraint from user target requires ==8.6.3)
[__1] fail (backjumping, conflict set: directory, ghc)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: directory, ghc

GHC-8.6.3 有问题。
在另一台机器上,这工作正常,因此我认为出了点问题。

我该如何解决这个问题?删除以下目录是否足够?

是否还有我必须删除的其他目录/文件? 有没有类似 cabal v2-clean 命令的东西?

我不想删除其他 GHC 版本的已安装包,因此我不想完全删除 .cabal.ghc 目录。

几乎可以肯定,问题是您的全局 ghc 环境文件中存在冲突的库:https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-environments

您可以手动清除该文件中的条目,或使用 https://github.com/phadej/cabal-env

等工具对其进行管理