GHC поставляется с определенным набором уже установленных библиотек. Когда вы запускаете команду сборки выше, она требует «переустановить» некоторые более старые версии библиотек, которые поставляются с GHC. Это плохо по понятным причинам.
Если вам действительно нужно это сделать, то может работать cabal-dev
вместо Cabal
. Кстати, использование Setup.hs
вызывает версию библиотеки Cabal
, которая поставляется вместе с вашим компилятором, где при запуске команды cabal
вызывается программа cabal-install
.
cabal-dev
- это обертка вокруг cabal-install
(и, следовательно, Cabal
библиотека), которая обеспечивает изолированную сборку. Обеспечение безопасности для установки программ, которые нуждаются в разных версиях библиотек, которые поставляются с GHC. Остается вопрос, будут ли эти старые библиотеки строить против нового GHC. Во многих случаях сборка не удастся.
Я настоятельно рекомендую вам использовать cabal-dev
для вашего ежедневного пакетного здания вместо cabal-install
. Преимущества sandboxing много и сильно перевешивают риск того, что cabal-install
развращает вашу базу данных пакетов, обновив пакет где-то посередине сети зависимостей за то, что вы уже установили.
Для получения дополнительной информации об использовании cabal-dev
, я рекомендую это reddit post.
base
представляет собой набор модулей Haskell, которые обеспечивают большую часть функциональности, которая поставляется с каждой установкой GHC. Это набор полезных библиотек, которые захотят и нуждаются большинству пользователей Haskell.
У GHC-7.0.1 уже есть Cabal-1.10.0.0, вы не хотите понижать его, поскольку он близок к этой версии GHC. Вы действительно хотите, чтобы каббал-инсталляция? Я думаю, вам нужно подождать, пока не будет выпущена новая версия, в ближайшее время должна появиться новая версия (в этом месяце), как это необходимо для кандидата на выпуск следующей версии платформы. –
@stephen, если cabal поставляется с GHC, можете ли вы рассказать мне, как «включить» клиент командной строки? Я пытаюсь установить xmonad в свою систему. –
Привет Кейси. Клиентом командной строки является «cabal-install». Хотя GHC поставляется с двойной версией библиотек cabal, «cabal-install» представляет собой большую программу, чем просто исполняемый файл поверх библиотек cabal, поэтому он не освобождается до нескольких недель после GHC. Если вы в первую очередь хотите xmonad, вам лучше всего использовать платформу Haskell, поэтому вам нужно вернуться к GHC 6.12.4 (или дождаться следующего релиза платформы, который, как я думаю, запланирован на январь). –