Требуется ли ядерное оружие для существующей платформы, зависит от того, где Cabal настроен для установки пакетов.
В Mac OS X поставляемый cabal-install *1003* изменен для создания конфигурации, которая разделяет пакеты по версии GHC. Если вы использовали эту конфигурацию, вы можете просто установить платформу Haskell поверх старой.
install-dirs user
prefix: /Users/pgiarrusso/Library/Haskell/$compiler/lib/$pkgid
-- [...]
install-dirs global
prefix: /Library/Haskell/$compiler/lib/$pkgid
Двоичные файлы для установки, например, из gtk2hs-buildtools
, разделяются только с помощью конфигурации, подобной приведенной выше. Насколько я могу судить, по крайней мере фактический регистр пакетов (в ~/.ghc/$GHC_VERSION
, используемый ghc-pkg и cabal) вместо этого всегда для каждой GHC-версии.
Конфигурация, сгенерированная ванильной cabal-install (из Hackage), не принимает такие меры предосторожности.
install-dirs user
-- prefix: /Users/pgiarrusso/.cabal
[...]
install-dirs global
-- prefix: /usr/local
Если у вас есть такая конфигурация, я ожидаю, что у вас возникнут проблемы, если вы не удалите хотя бы данные из ~/.cabal
, а также двоичные файлы из /usr/local
из старой платформы Haskell - но не делайте ядерное оружие весь каталог, так как /usr/local
часто используется для установки другого программного обеспечения!
Конфигурация по умолчанию генерируется только тогда, когда конфигурация не существует, поэтому для обновления конфигурации необходимо удалить существующую.