cabal help显示不是“卸载”选项。
那么卸载cabal安装的软件包的最好方法是什么?
% cabal update
% cabal install mighttpd2mighttpd2安装成功。但是,ghc-pkg无法找到并注销它:
% ghc-pkg list | grep -i might
% ghc-pkg unregister mighttpd2
ghc-pkg: cannot find package mighttpd2 真心的!
>find .cabal | grep -i mighttp
.cabal/share/doc/mighttpd2-2.3.3
.cabal/share/doc/mighttpd2-2.3.3/LICENSE
.cabal/share/mighttpd2-2.3.3
.cabal/share/mighttpd2-2.3.3/sample.conf
.cabal/share/mighttpd2-2.3.3/sample.route
.cabal/packages/hackage.haskell.org/mighttpd2
.cabal/packages/hackage.haskell.org/mighttpd2/2.3.3
.cabal/packages/hackage.haskell.org/mighttpd2/2.3.3/mighttpd2-2.3.3.tar.gz
>ghc-pkg list | grep -i package\.conf
/usr/local/lib/ghc-7.0.3/package.conf.d:
/home/sw2wolf/.ghc/i386-freebsd-7.0.3/package.conf.d:因此,ghc-pkg看不到“.cabal/package/hackage.haskell.org”。
发布于 2011-08-31 12:47:07
你可能没有将阴谋路径作为你的GHC路径的一部分。
第一步
首先,尝试找出您的GHC包路径是什么,
ghc-pkg list
# displays stuff like "/home/username/.../package.conf.d"然后,确保Cabal正在写入的那个是活动的。对我来说,Cabal将包添加到
/home/username/.ghc/x86_64-linux-7.0.4/package.conf.d第二步
如果你的系统上没有这样的目录,看看Cabal在写什么。
strace -f -o trace.txt cabal install mighttpd2
grep "package\.cache" trace.txt然后将包路径添加到此系统环境变量
export GHC_PACKAGE_PATH=NEWPATH:/usr/local/lib/ghc-7.0.3/package.conf.d请重试,如果不起作用,请转到步骤3
第三步
查看该目录,看看是否有像这样的文件
mighthttpd2-version-LONGHASHCODE.conf如果它在那里,那么您可能需要重新缓存
ghc-pkg recache --user发布于 2011-09-01 04:36:22
GHC包系统不用于可执行文件,mighttpd2包只构建可执行文件。要卸载它,只需删除软件包的cabal文件中列出的两个可执行文件(mighty和mkindex)和两个数据文件(sample.conf和sample.route)。通过仔细阅读~/.cabal/config中的cabal配置文件,您可以找到这些文件安装到的目录。
https://stackoverflow.com/questions/7252193
复制相似问题