2011-09-25 11 views

Odpowiedz

7

Zdecydowanie miałem trudne doświadczenia z uaktualnieniem platformy Haskell. Jeśli masz wystarczająco dużo kłopotów, że chcesz po prostu wytrzeć rzecz i zacząć od nowa (! Nie byłby pierwszym), zajrzyj tutaj:

Everywhere that GHC/Haskell Platform installs

5

O ile mi wiadomo, nie ma mechanizmu aktualizacji. I nigdy nie miałem problemu z instalacją jednej wersji platformy na drugiej w systemie OSX.

+0

Dzięki. Po prostu zrobię to. –

2

pochodzę z przyszłości (06/2013) i musiałem odrzucić całą moją instalację platformy haskell, aby pomyślnie zainstalować nowszą wersję. Więc ... wciąż nie ma płynnego sposobu na ulepszenie. (Przynajmniej w OS X)

+0

Dla każdego, kto zastanawia się ... Najpierw próbowałem zainstalować jedną wersję na starszej, ale miałem problemy z instalowaniem bibliotek przez cabal. –

2

Niezależnie od tego, czy trzeba odrzucić istniejącą platformę, zależy od tego, gdzie kabała jest skonfigurowana do instalowania pakietów.

W systemie Mac OS X zmodyfikowana została wersja pod numerem, aby utworzyć konfigurację, która oddziela pakiety od wersji GHC. Jeśli to konfiguracja, której użyłeś, możesz po prostu zainstalować platformę Haskell na starej.

install-dirs user 
    prefix: /Users/pgiarrusso/Library/Haskell/$compiler/lib/$pkgid 
-- [...] 
install-dirs global 
    prefix: /Library/Haskell/$compiler/lib/$pkgid 

binarne dla instalacji, takich jak te z gtk2hs-buildtools są rozdzielone tylko przy konfiguracji jak wyżej. O ile mogę powiedzieć, przynajmniej rzeczywisty rejestr pakietów (w ~/.ghc/$GHC_VERSION, używany przez ghc-pkg i cabal) jest zamiast tego zawsze na wersję GHC. Konfiguracja wygenerowana przez vanilla cabal-install (z Hackage) nie podejmuje takich środków ostrożności.

install-dirs user 
    -- prefix: /Users/pgiarrusso/.cabal 
[...] 
install-dirs global 
    -- prefix: /usr/local 

Jeśli masz taki config, spodziewam masz zamiar dostać kłopotów, chyba że usunięcie przynajmniej dane w ~/.cabal, a także pliki binarne w /usr/local ze starej platformy Haskell - ale nie nuke cały katalog, ponieważ /usr/local jest często używany do instalowania innego oprogramowania!

Domyślna konfiguracja jest generowana tylko wtedy, gdy nie istnieje żadna konfiguracja, więc aby zaktualizować konfigurację, należy odłączyć istniejącą.

Powiązane problemy