Из комментария Тома Локхорста:
Я надеюсь, что кто-нибудь придет с лучшим ответом, который не потребует от меня переустановки полной платформы Haskell в следующий раз.
Для будущих посетителей:
Задача установки профилирующих версий всех установленных библиотек стала менее трудоемкой, cabal (cabal-install)
теперь отслеживает то, что было установлено с ее использованием, в файле world
в каталоге .cabal
(в linux, что быть $HOME/.cabal
, в Windows что-то вроде C:\Users\%YOU%\AppData\Roaming\cabal\
, в OSX ??).
Таким образом, после включения профилирования в файле config
(в том же каталоге) и очистки базы данных пакетов GHC (вы можете найти расположение глобальной и пользовательской базы данных для ghc-pkg list nonexisting
; удалите установленные кабалой пакеты из глобальная база данных с ghc-pkg unregister packagename
, если у вас есть, переименуйте или удалите всю пользовательскую базу данных - это необходимо, потому что файл world
отслеживает только явно установленные пакеты, а не их зависимости), установка всего с поддержкой профилирования должна работать следующим образом:
$ cabal install --reinstall world --dry-run
Сначала запустите --dry-run
, чтобы проверить наличие проблем, прежде чем что-либо переустанавливать. Если он будет переустанавливать загрузочные пакеты, такие как process
или directory
, это плохой признак, если вы не знаете, как с этим справиться, спросите на IRC-канале #haskell
, одном из списков рассылки, или здесь для руководства , Если не удается найти согласованный план установки из-за новых версий на hackage некоторых пакетов, которые несовместимы друг с другом, это обычно можно решить, отредактировав файл world
и ограничив допустимые версии некоторых пакетов. .
Тогда, если вы настроены оптимистично, что ничего не сломается,
$ cabal install --reinstall world
и выпейте чашку чая, пока GHC занят компиляцией.