Sto cercando di imparare la cabala e ho testato diversi miei piccoli progetti, ora voglio pulirli.Come rimuovere completamente i pacchetti installati dalla cabala?
In sostanza, se sto lavorando senza un sandbox
, il mio flusso di lavoro è:
- corsa
cabal init
- modificare
src/Mylib.hs
, e quindi modificaremylibname.cabal
file di - corsa
cabal build
- corsa
cabal repl
e prova la mia codice - run
cabal install
Ora, vedo il mio progetto:
- installato nella
~/.cabal/lib/x86-64-linux-ghc-7.10.1
- registrato in
~/.ghc/package.conf.d
posso scrivere import Mylib
nel mio altro codice sorgente di Haskell, quindi penso che il pacchetto è installato con successo.
Quindi voglio disinstallare il pacchetto, poiché il pacchetto stesso è solo un codice di esperimento privo di significato.
ho letto this articolo, che dice che:
non esiste un comando "cabala uninstall". È possibile annullare la registrazione solo pacchetti con GHC-pkg:
ghc-pkg unregister
così corro
ghc-pkg unregister mylibname
Ora, sembra che il pacchetto non è registrata in ~/ghc/package.conf.d
, tuttavia, c'è ancora una libreria compilata in ~/.cabal/lib/x86-64-linux-ghc-7.10.1
.
Quindi, come ho potuto rimuovere completamente il mio progetto, potevo solo rm -rf
la libreria in ~/.cabal
?
I non credo che la cabala stia ricevendo un comando di disinstallazione in qualsiasi momento presto. Tuttavia, si può provare a usare "stack" invece di cabala che utilizza sandbox con grande effetto e quasi elimina la necessità di eliminare singoli pacchetti. I pacchetti sperimentali e specifici del progetto sono sempre installati nella directory del progetto locale, e puoi semplicemente eseguire 'stack clean' per cancellare tutti i pacchetti locali. –