Ich versuche Cabal zu lernen und habe einige meiner eigenen kleinen Projekte getestet, jetzt möchte ich sie aufräumen.Wie vollständig von cabal installierte Pakete entfernen?
Grundsätzlich, wenn ich ohne sandbox
arbeite, mein Workflow ist:
- Lauf
cabal init
- bearbeiten
src/Mylib.hs
und bearbeiten Sie dannmylibname.cabal
Datei - Lauf
cabal build
- Lauf
cabal repl
und testen Sie meine Code - Lauf
cabal install
Jetzt
, ich sehe mein eigenes Projekt:
- installiert in
~/.cabal/lib/x86-64-linux-ghc-7.10.1
- registriert in
~/.ghc/package.conf.d
ich import Mylib
in meinem anderen Haskell-Quellcode schreiben kann, so denke ich das Paket ist erfolgreich installiert.
Dann möchte ich das Paket deinstallieren, da das Paket selbst ist einfach sinnlos Experiment-Code.
las ich this Artikel, der sagt, dass:
Es gibt keine "Kabale uninstall" Befehl ist. Sie können nur Pakete mit ghc-pkg deregistrieren:
ghc-pkg unregister
so laufe ich
ghc-pkg unregister mylibname
Nun scheint es, dass das Paket in ~/ghc/package.conf.d
nicht registriert ist, aber es ist immer noch eine kompilierte Bibliothek in ~/.cabal/lib/x86-64-linux-ghc-7.10.1
.
Also, wie könnte ich mein Projekt komplett entfernen, könnte ich einfach rm -rf
die Bibliothek in ~/.cabal
?
I glaube nicht, dass Cabal bald einen Deinstallationsbefehl bekommt. Sie können jedoch versuchen, "Stack" statt Cabal verwenden, die Sandboxes mit großer Wirkung verwendet und fast die Notwendigkeit, einzelne Pakete zu löschen. Experimentelle und projektspezifische Pakete werden immer in Ihrem lokalen Projektverzeichnis installiert, und Sie können einfach 'stack clean' ausführen, um alle lokalen Pakete zu löschen. –