Ответ 1
Cabal не отслеживает, что он установил, он просто использует механизм библиотеки ghc (или какой-либо другой компилятор, если вы не используете ghc), поэтому вы можете использовать rm -r ~/.ghc
для удаления всех локально установленных библиотек.
Если у вас установлено несколько ghc, и вы хотите удалить только libs для определенного ghc, удалите подкаталог, соответствующий любому ghc, который вы хотите удалить.
Например, я могу удалить все, что я установил для ghc-7.6.0, с помощью rm -r ~/.ghc/x86_64-linux-7.6.0.20120810
Вы также можете использовать это, чтобы сохранить свою ghci_history, если хотите.
ll ~/.ghc/
total 24
-rw-r--r-- 1 johnl johnl 2300 Aug 21 11:47 ghci_history
drwxr-xr-x 3 johnl johnl 4096 Jun 17 19:09 x86_64-linux-6.12.3
drwxr-xr-x 3 johnl johnl 4096 May 17 08:17 x86_64-linux-7.2.1
drwxr-xr-x 3 johnl johnl 4096 May 16 17:34 x86_64-linux-7.4.1
drwxr-xr-x 3 johnl johnl 4096 Jun 15 08:21 x86_64-linux-7.4.2
drwxrwxr-x 3 johnl johnl 4096 Aug 15 12:37 x86_64-linux-7.6.0.20120810
Изменить: ~/.cabal/world
- список установленных пакетов с ограничениями версии, указанными пользователем. Таким образом, в большинстве случаев он будет включать, например, mtl -any
. Если вы установили пакеты с определенными версиями, например, выпустив cabal install mtl-2.1.1
, он будет записывать эту версию. Вы должны уметь либо удалять мировой файл, либо начинать заново, или если вы посмотрите на него, а зависимости приемлемы, вы можете попробовать только запустить cabal install world
. Или вы могли бы игнорировать его, а не использовать поддержку поддержки кабала (что я делаю).