我的阴谋包是FUBAR; 我怎样才能清除它们并重新开始?

jbe*_*man 63 haskell cabal

~/.cabal/config在新机器上安装一堆软件包之前,我忘了启用构建库来进行性能分析,而现在--reinstall world尝试修复这种情况已经让一切都破坏了(自然).

我认为这是更好地利用我的时间来清除一切.我该怎么做?

Joh*_*n L 60

Cabal没有跟踪它的安装,它只是使用ghc的库机制(或者如果你没有使用ghc那么使用其他编译器的机制),所以你可以rm -r ~/.ghc用来删除所有本地安装的库.

如果您安装了多个ghc,并且只想删除特定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
Run Code Online (Sandbox Code Playgroud)

编辑:~/.cabal/world是已安装的软件包列表,其中包含用户指定的版本限制.因此,在大多数情况下,它将包括例如mtl -any.如果您安装了具有特定版本的软件包,例如通过发布cabal install mtl-2.1.1,它将记录该版本.您应该能够删除世界文件并重新开始,或者如果您查看它并且依赖项是可接受的,您可以尝试运行cabal install world.或者你可以忽略它而不是使用cabal的世界支持(这就是我所做的).

  • 对于Windows上的用户,默认情况下,每个用户状态存储在[`%APPDATA%\ ghc`]下(https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/packages. html)和[`%APPDATA%\ cabal`](https://www.haskell.org/cabal/users-guide/installing-packages.html#paths-in-the-simple-build-system). (5认同)

Sim*_*ael 19

这个ghc-pkg-reset shell脚本清除〜/ .ghc /和〜/ .cabal /,更有选择性.(并且随附的ghc-pkg-clean脚本可以帮助从混乱的软件包安装中恢复,也许可以避免重置.)我发现这些有用.