Я на OSX 10.6, и сейчас у меня есть платформа 2010.2.0.0. Должен ли я просто установить 2011.2.0.1 сверху или есть механизм обновления, который будет более плавным?
Какой самый простой способ обновить платформу haskell до последней версии?
Ответ 1
У меня определенно был ухабистый опыт обновления с платформой Haskell. Если у вас достаточно проблем, вы просто хотите стереть предмет и начать новый (вы не первый!), Посмотрите здесь:
Ответ 2
Насколько я знаю, механизм обновления отсутствует. И у меня никогда не было никаких проблем с установкой одной версии платформы поверх другой OSX.
Ответ 3
Я пришел из будущего (06/2013), и мне просто нужно было уничтожить всю мою установку платформы haskell, чтобы успешно установить новую. Итак... все еще нет плавного способа обновления. (По крайней мере, в OS X)
Ответ 4
Нужно ли вам использовать ядерную платформу, зависит от того, где каббал настроен для установки пакетов.
В Mac OS X поставляемая cabal-install изменена для создания конфигурации, которая разделяет пакеты по версии 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-версии.
Конфигурация, созданная установкой ванильной камеры (из Hackage), не принимает таких мер предосторожности.
install-dirs user
-- prefix: /Users/pgiarrusso/.cabal
[...]
install-dirs global
-- prefix: /usr/local
Если у вас такая конфигурация, я ожидаю, что у вас появятся проблемы, если вы удалите хотя бы данные в ~/.cabal
, а также двоичные файлы в /usr/local
со старой платформы Haskell - но не получите весь каталог, так как /usr/local
часто используется для установки другого программного обеспечения!
Конфигурация по умолчанию генерируется только в том случае, когда не существует никакого конфигурационного файла, поэтому для обновления конфигурации вам необходимо отойти от существующего.