2013-03-17 16 views
9

Zainstalowałem Haskell Platform 2012 w Windows 7. Piszę w konsoli cabal update i otrzymuję komunikat, że istnieje nowa wersja cabal. Piszę cabal install cabal-install. Po zakończeniu instalacji informuje mnie, że cabal został zainstalowany w C: \ nazwa_użytkownika \ AppData \ Roaming \ cabal. Więc kiedy ponownie wykonuję numer cabal update, biorę ten sam komunikat, że muszę zainstalować nową wersję cabal. Próbowałem zmienić katalog cabal z pliku konfiguracyjnego, ale cabal ignoruje plik konfiguracyjny. Czy Haskell działa tylko na Uniksie? DziękiJak skonfigurować cabal w systemie Windows 7?

+1

IMHO nigdy nie należy używać "cabal install cabal-install", jeśli ktoś właśnie rozpoczął podróż z haskell ze świeżym plackfromem. Po prostu użyj aktualizacji cabal, aby zaktualizować listę pakietów. Jedyni ludzie, którzy powinni zaktualizować samą Cabal, będą wiedzieli, kiedy to zrobić, jeśli tego nie wiesz, nie rób tego. – Jonke

+1

@Jonke Więc kiedy ludzie to robią? – osager

+0

Jeśli chcesz najnowsze wydanie cabal dla nowej wersji ghc i nie ma platformy haskell. Na przykład, jeśli otrzymasz binarną kompilację dla ghc 7.8.2, możesz uzyskać binarną kompilację dla cabal 1.18, ale bez binarnej kompilacji dla cabal 1.20, to robisz to. (IMHO) – Jonke

Odpowiedz

13

Problem polega na tym, że plik wykonywalny cabal dostarczony z platformą Haskell zostanie pobrany zamiast tego, który został zainstalowany.

Musisz edit the value of the PATH environment variable i umieścić %AppData%\cabal\bin przed %PROGRAMFILES%\Haskell Platform\...\bin, aby uzyskać wyższy priorytet.

2

Trzeba dodać C:\username\AppData\Roaming\cabal (lub cokolwiek katalog ma teraz cabal wykonywalny - użyj np dir lub ulubionego menedżera plików, aby sprawdzić, czy masz odpowiednie miejsce) do zmiennej środowiskowej %PATH% i ponownie uruchomić wiersz polecenia.

+1

Instalator HP dodaje domyślnie '% APPDATA% \ cabal \ bin' do'% PATH% '; Problem polega na tym, że '% PLATFORM_DIR% \ bin' ma wyższy priorytet. –

2

Komunikat o błędzie jest niekompletny. Zainstaluj globalną instalację kablową jako:

cabal install cabal-install --global 
+1

Dziękuję, nigdy nie wiedziałem o --global –

Powiązane problemy