2013-12-08 12 views
20

ich viele Probleme mit cabal-install mit:
1: Jedesmal, wenn ich cabal update tun, sagt es mir cabal install cabal-install zu tun, also ich, und wenn ich dann cabal update wieder tun, sagt es die gleiche Ding.Haskell Kabale installieren Fehler

2:

[[email protected] ~]$ cabal install ghc-mod 
In order, the following will be installed: 
haskell-src-exts-1.14.0 (reinstall) changes: pretty-1.1.1.1 -> 1.1.1.0 
hlint-1.8.55 (reinstall) 
ghc-mod-3.1.4 
setup: The program happy version >=1.17 is required but it could not be found. 
ghc-mod-3.1.4 depends on haskell-src-exts-1.14.0 which failed to install. 
haskell-src-exts-1.14.0 failed during the configure step. 
hlint-1.8.55 depends on haskell-src-exts-1.14.0 which failed to install. 

war The program happy version >=1.17 is required but it could not be found. So ist das Problem, so habe ich installiert happy 1.19.2cabal install happy ohne Probleme mit: Wenn ich versuche ghc-mod von Hackage zu installieren, ist es mir diesen Fehler gibt.

Ich versuchte cabal install ghc-mod wieder, der gleiche Fehler, so versuchte ich cabal install haskell-src-exts --reinstall --force-reinstalls. Es gab mir den folgenden Fehler:

[[email protected] ~]$ cabal install haskell-src-exts --reinstall --force-reinstalls 
Configuring haskell-src-exts-1.14.0... 
setup: The program happy version >=1.17 is required but it could not be found. 
Failed to install haskell-src-exts-1.14.0 
cabal: Error: some packages failed to install: 
haskell-src-exts-1.14.0 failed during the configure step. The exception was: 
ExitFailure 1 

Grundsätzlich The program happy version >=1.17 is required but it could not be found.. So glücklich ist das Problem schon wieder?

ich auch die tar.gz-Dateien von Hackage versucht haben, das Herunterladen und cabal install auf der .cabal Datei modifiziert auch die .cabal Datei Abhängigkeiten zu ignorieren, noch immer nicht.

Antwort

28

cabal install Orte ausführbare Dateien in ~/.cabal/bin.

Wenn Sie es auf Ihren Weg hinzufügen, werden Sie in der Lage sein, die neuen ausführbaren Dateien von Kabale installiert verwenden:

$ PATH=$HOME/.cabal/bin:$PATH 
+1

Erstaunlich. Ich habe gerade zwei wirklich seltsame Dinge erlebt, also schreibe ich hier, falls es jemandem helfen würde. Der erste: Ich hatte bereits $ HOME/.cabal/bin in meinem $ PATH, und ... es hat nicht funktioniert! Das funktioniert erst, nachdem ich das '$ HOME' durch '~' ersetzt habe - wirklich lustig, weil ich die Variable benutzt habe, die Angst hat, dass Tilde nicht funktioniert. Die zweite Sache: Auch nachdem das System den Pfad gesehen hat, und das * happy * - das * cabal * immer noch nicht! Erst nachdem ich den Befehl aus dieser Antwort ausgeführt habe, fängt es an zu arbeiten. Meine Vermutung ist, dass * cabal * Tilde nicht verstehen kann ... –

+1

Also, ich schätze das Problem ist so: * cabal * will einen vollständigen Pfad. Also, nachdem ich meine '/ etc/environment' in $ PATH die': $ HOME/.cabal/bin' * (entweder die Variante mit Tilde) * hinzugefügt habe, denkt die * cabal * in beiden Fällen, dass * Tilde * oder das * $ HOME * ist Teil des Pfades * (es ist auch ein gültiger Pfad) *. Um es zum Laufen zu bringen, muss man in die '/ etc/environment' den vollständigen Pfad bis zum Verzeichnis mit Binaries schreiben. –

21

ich mit dem gleichen Problem gestoßen und ich löste das Problem mit happy Paket installieren (Paketnamen verwirrend). Installieren Sie es mit Ihrem Paketmanager (apt-get, pacman usw.), bevor Sie das Paket mit cabal installieren. Dies sollte das Problem beheben.

+2

Das funktionierte ohne weitere Probleme. Vielen Dank! –

+1

Bei einer Neuinstallation von der GHC/cabal-Quelle (keine Haskell Platform) wurde durch die Installation dieses Fehlers ein Fehler "ExitFailure 1" behoben. –

+3

Ich konnte das durch 'cabal install happy' beheben. – connorbode