GHC / Haskell平台安装的地方

假设我想彻底重新安装GHC / HP。 我想(和任何事情一样迷信)删除之前安装的任何内容和所有内容。 我实际需要删除哪些内容?

编辑:我在OSX上,但我更加好奇,如果这些信息通用于所有系统。

Edit2:到目前为止我们有:

OSX:
/Library/Frameworks/GHC.framework/
〜/ .cabal /
/ usr / bin / - 符号链接

我将补充说明(基于此处定义的“前缀”:http://www.vex.net/~trebla/haskell/sicp.xhtml#storage):
前缀/ lib目录/
前缀/股/
前缀/斌/
前缀/共享/ DOC /
/ usr(/ local)/ lib / [ghc-version]
/ usr(/ local)/ share / doc / ghc / html / libraries / - documentation
/ usr(/ local)/ share / doc / ghc /
/ usr(/ local)/ bin
的/ var / lib中/ [GHC版本]
的/ etc / [GHC版本]
〜/ .ghc /

编辑3:
OS X:
〜/库/哈斯克尔

Linux的:
??

视窗:
??


最近必须在OS X上删除Haskell平台。 大多数通过Uninstaller清理:

sudo /Library/Frameworks/GHC.framework/Versions/Current/Tools/Uninstaller

这些必须手动清理:

rm -r ~/.cabal
rm -r ~/.ghc
rm -r ~/Library/Haskell

或者,如文件中所述

/Library/Haskell/doc/start.html

现在有一个自定义卸载命令与选项,

/Library/Haskell/bin/uninstall-hs

一般来说,可以通过使用包含工作目录中的活动来记录由任何活动(安装程序,...)创建的文件

echo >timestamp
[activity]
sudo find -x / -newer timestamp -print >snapshot.txt

如果您在OS X上从2012年开始安装了Haskell平台,请运行

uninstall-hs

并仔细阅读它输出的内容。 您需要使用它提供的选项再次运行它。 跑

uninstall-hs --help

获得更多选择。


下面是我的原始答案,它仍然可以工作,但是不提供很多选项,并且有点“火腿拳”:

警告:这个脚本是极端的。 它甚至会删除 GHC和Cabal的自定义配置文件,以及你建立的可执行文件,它们仍然在~/Library/Haskell~/.cabal 。 谨慎使用; 检查它将要做什么; 有备份; 注意脚本!

#!/bin/bash
set -x

sudo rm -rf /Library/Frameworks/GHC.framework
sudo rm -rf /Library/Frameworks/HaskellPlatform.framework
sudo rm -rf /Library/Haskell
rm -rf ~/.cabal
rm -rf ~/.ghc
rm -rf ~/Library/Haskell
find /usr/bin /usr/local/bin -type l | 
  xargs -If sh -c '/bin/echo -n f /; readlink f' | 
  egrep '//Library/(Haskell|Frameworks/(GHC|HaskellPlatform).framework)' | 
  cut -f 1 -d ' ' > /tmp/hs-bin-links
sudo rm -f `cat /tmp/hs-bin-links`

您可能想要添加行来保存并恢复您的配置文件,如:

mv ~/.cabal/config /tmp/cabal-config 2>/dev/null || true
mv ~/.ghc/gchi.conf /tmp/ghci-config 2>/dev/null || true

mkdir ~/.cabal
mkdir ~/.ghc
cp /tmp/cabal-config ~/.cabal/config 2>/dev/null || true
cp /tmp/ghci-config ~/.ghc/gchi.conf 2>/dev/null || true

用这些支持rm线。 虽然你可能会或可能不想要你的老~/.cabal/config如果你正在升级到更新的东西。

请注意,这只能处理当前用户的主目录。 如果您有多个用户帐户都使用Haskell,那么其他帐户也需要清理。 (重复涉及~的行。)


我在OSX上(Lion atm)。 我在/Library/Frameworks/GHC.framework/(当前和以前的版本)中有GHC。 / usr / bin中也有一些符号链接,但是这些将被新的安装替换。

如果您已经使用cabal(本地)安装软件包,则还可能需要清除〜/ .cabal。 如果你有最近的cabal,你可以使用cabal install world轻松地重新安装'new'GHC版本的所有软件包,然后查找与以前版本的GHC匹配的目录,你可以这样做:

for package in `ls ~/.cabal/lib/`; do 
   if [ ! -d ~/.cabal/lib/${package}/ghc-7.0.3 ]; then 
       echo $package; 
   else 
       echo "OK for $package"; 
   fi;
done 

这些应该是安全的删除。

希望这有助于你。

链接地址: http://www.djcxy.com/p/75465.html

上一篇: Everywhere that GHC/Haskell Platform installs

下一篇: Voice Call recording in android using MediaRecorder