Всякий раз, когда я пытаюсь установить новый пакет на Cabal, он пытается и не удается установить ранее неудачную установку - PullRequest
1 голос
/ 24 марта 2020

В прошлом я пытался установить Clipboard через Cabal, не зная, что он работает только на 32-битном Windows, поэтому он не удался. Сейчас я пытаюсь установить utf8-string через Cabal, но когда я запускаю команду 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

Если это важно, я запускаю Windows 10 64-разрядная, и я использую Cygwin64 Terminal.

1 Ответ

4 голосов
/ 24 марта 2020

Отказ зависимости от Cabal: история двух инструментов

Вы: Cabal! Установите что-нибудь старое.

Кабал: Можно сделать. И для моего приятеля GH C я также запишу что-то старое в $HOME/.ghc/$arch-$ghc_version/environments/default.

You: Cabal! Установите что-нибудь еще.

Кабал: Ок. Позвольте мне проверить, какие пакеты я должен установить для этого. Да, теперь у меня есть этот список ... здесь написано, что я должен установить новую вещь - но старая версия новой вещи обязана средой по умолчанию.

Поиск выхода

Терминатор

Отвинтите старую среду, мне все равно.

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

Библиотекарь

Мне нравится моя старая среда, давайте создадим этот пакет с новой средой.

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

Программист

Мне нравятся рабочие процессы на основе каталогов, и я не очень хочу думать о средах, как вы думаете об этом для меня, Кабал.

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

Программист (я надеюсь, лето 2020 года)

Мне нравятся рабочие процессы на основе каталогов, и я не хочу говорить о средах. К счастью, кто-то исправил основную проблему https://github.com/haskell/cabal/issues/5559, поэтому теперь я могу просто набрать cabal install --lib utf8-string.

...