(我在OS X 10.9上)
我跑了这个:
$ cabal update
$ cabal install haskell-platform
cabal: There is no package named 'haskell-platform'.
You may need to run 'cabal update' to get the latest list of available packages.
我用用户安装了cabal-install:
$ cabal install --user cabal-install
$ which cabal
/Users/sambo/.cabal/bin/cabal
用我在网上发现的Haskell装置进行核对后:
$ sudo rm -rf /Library/Frameworks/GHC.framework
$ sudo rm -rf /Library/Frameworks/HaskellPlatform.framework
$ sudo rm -rf /Library/Haskell
$ sudo rm -rf /usr/share/doc/ghc
$ sudo rm /usr/share/man/man1/ghc.1
$ sudo rm -rf /var/db/receipts/org.haskell.HaskellPlatform.*
$ sudo rm -rf ~/.cabal
$ sudo rm -rf ~/.ghc
$ sudo 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 ' ' | \
xargs sudo rm -f
我可以通过硬盘重新安装Haskell,我已经安装了自制软件。这是我试图做的,但似乎很拙劣。
答案 0 :(得分:2)
我真的不明白你的问题,但是Cabal将包裹列表存储在:
.cabal/packages/hackage.haskell.org/00-index.tar.gz.etag
.cabal/packages/hackage.haskell.org/00-index.cache
.cabal/packages/hackage.haskell.org/00-index.tar.gz
.cabal/packages/hackage.haskell.org/00-index.tar
这是管理Haskell安装的技巧:不要安装Haskell平台。使用您的软件包管理器(我猜这是Mac上的brew
),安装最新的GHC(7.8.3),Cabal和cabal-install。之后再次运行cabal update
和cabal install Cabal cabal-install
,只是为了更新您的Cabal安装,以防它已经过时。然后删除系统范围内安装的Cabal,并将~/.cabal/bin
添加到您的路径中。您现在应该可以使用cabal沙盒功能,将所有内容安装在沙箱中。
更新:如果您的包管理器没有GHC 7.8.3:只需安装它拥有的任何版本,并按照我的描述安装Cabal和cabal-install。然后删除包管理器的GHC并从http://www.haskell.org/ghc/download_ghc_7_8_3安装最新的预编译版本。
如果包管理器的GHC不够新,无法编译最新的Cabal和cabal-install,那么你需要启动库,从较旧的GHC和较旧的Cabal开始,然后更新GHC,使用最新的GHC安装更新的Cabal和较旧的Cabal等。
只是不安装Haskell平台,这不值得痛苦。