每当我尝试在 Cabal 上安装新包时,它都会尝试安装之前失败的安装,但失败了

Whenever I try to install a new package on Cabal, it tries and fails to install a previously failed install

过去我尝试通过 Cabal 安装 Clipboard,但不知道它只能在 32 位 Windows 上运行,所以失败了。现在,我正在尝试通过 Cabal 安装 utf8-string,但是当我 运行 命令 cabal new-install utf8-string 时,我得到以下信息:

Resolving dependencies...
cabal.exe: Could not resolve dependencies:
[__0] trying: Clipboard-2.3.2.0 (user goal)
[__1] next goal: Win32 (dependency of Clipboard)
[__1] rejecting: Win32-2.6.1.0/installed-2.6..., Win32-2.8.5.0, Win32-2.8.4.0,
Win32-2.8.3.0, Win32-2.8.2.0, Win32-2.8.1.0, Win32-2.8.0.0, Win32-2.7.0.0,
Win32-2.6.2.0, Win32-2.6.1.0, Win32-2.6.0.0, Win32-2.5.4.1, Win32-2.5.3.0,
Win32-2.5.2.0, Win32-2.5.1.0, Win32-2.5.0.0, Win32-2.4.0.0 (conflict:
Clipboard => Win32>=2.2.0.0 && <2.4)
[__1] trying: Win32-2.3.1.1
[__2] trying: base-4.12.0.0/installed-4.1... (user goal)
[__3] next goal: ghc (user goal)
[__3] rejecting: ghc-8.6.5/installed-8.6... (conflict: Win32==2.3.1.1, ghc =>
Win32==2.6.1.0/installed-2.6...)
[__3] rejecting: ghc-8.6.5 (conflict: base==4.12.0.0/installed-4.1..., ghc =>
base<0 && ==4.12.*)
[__3] rejecting: ghc-8.6.4, 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.5)
[__3] fail (backjumping, conflict set: Win32, base, ghc)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: ghc, Win32, base, Clipboard

以防万一,我 运行ning Windows 10 64 位,我使用的是 Cygwin64 终端。

Cabal 依赖失败:两个工具的故事

你:阴谋集团!安装旧的东西。

Cabal:可以。对于我的好友 GHC,我也会在 $HOME/.ghc/$arch-$ghc_version/environments/default.

中记录这个旧的东西

你:阴谋集团!安装其他东西。

阴谋集团:好的。让我检查一下我应该为此安装哪些软件包。是的,现在我有了那个列表……它在这里说我应该安装新东西——但是默认环境要求旧版本的新东西。

寻找出路

终结者

去他妈的旧环境,我不在乎。

rm $HOME/.ghc/*/environments/default

图书管理员

我喜欢我的旧环境,让我们用新环境构建这个包。

cabal install --package-env some-new-named-package-environment utf8-string

程序员

我喜欢基于目录的工作流程,不想考虑环境问题,你帮我想想怎么样,cabal。

cabal install --lib utf8-string --package-env .

程序员(我希望是 2020 年夏季)

我喜欢基于目录的工作流程,不想谈论环境。幸运的是有人修复了潜在的问题 https://github.com/haskell/cabal/issues/5559 所以现在我可以输入 cabal install --lib utf8-string.