Happstack Lite bricht an mir, weil es Blaze-HTML-Version 0.5 bekommt und Version 0.4 will. Cabal sagt , dass beide Versionen 0.4.3.4 und 0.5.0.0 installiert sind. Ich möchte die 0.5.0.0 entfernen und nur die ältere Version verwenden. Aber cabal hat keinen "Deinstallations" -Befehl, und wenn ich es versuche ghc-pkg unregister --force blaze-html
, wird ghc-pkg
mein Befehl ignoriert.
Was mache ich?
UPDATE : Glaub es nicht . Obwohl ghc-pkg
behauptet wird, den Befehl zu ignorieren, wird der Befehl nicht ignoriert. Und mit der akzeptierten Antwort von Don Stewart können Sie genau die Version entfernen, die Sie entfernen möchten.
ghc-pkg list blaze-html
? Sind Sie sicher, dass Sie es als der richtige Benutzer ausführen? Geben Sie möglicherweise explizit an, welche Version nicht registriert werden soll.ghc-pkg
angelogen zu haben!cabal-uninstall
in der Antwort unten erwähnt ? Ist Cabal-Delete mächtiger? Kann es mit einer Kabalen-Sandboxcabal exec -- cabal-delete
funktionieren ( funktioniert ordnungsgemäß und löscht Pakete aus der Sandbox)? Warum nicht auch eine Antwort geben? Es sieht aus wie ein schönes Werkzeug.Antworten:
Sie können
ghc-pkg unregister
eine bestimmte Version wie folgt:Das sollte ausreichen.
quelle
~/.cabal/
Ordner nach Informationen darüber, wo sich Pakete und Binärdateien befindenWenn Sie sich außerhalb eines Sandkastens befinden:
Wenn Sie sich in einem Kabalen-Sandkasten befinden :
Das erste
--
ist das Argumenttrennzeichen fürhc-pkg
. Dies läuftghc-pkg
sandboxbewusst ab.quelle
Es gibt auch das Paket cabal-uninstall , das einen
cabal-uninstall
Befehl bereitstellt . Es hebt die Registrierung des Pakets auf und löscht den Ordner. Es ist jedoch erwähnenswert, dass es an übergeben wird--force
,ghc-pkg unregister
damit andere Pakete beschädigt werden können.quelle
cabal uninstall
Ergebnisse incabal: unrecognised command: uninstall (try --help)
Hier ist ein Shell-Skript, mit dem ich ein Paket deinstalliere. Es unterstützt mehrere installierte Versionen von GHC und löscht auch relevante Dateien (wird jedoch ohne Garantie bereitgestellt, beschuldigen Sie mich nicht, wenn Sie Ihre Installation abspritzen!).
quelle