gpt4 book ai didi

haskell - cabal 不能卸载软件包吗?

转载 作者:行者123 更新时间:2023-12-04 06:20:57 24 4
gpt4 key购买 nike

cabal help显示这些不是“卸载”选项。

那么卸载 cabal 安装的软件包的最佳方法是什么?

% cabal update
% cabal install mighttpd2

maytpd2 安装成功。但是 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/packages/hackage.haskell.org”。

最佳答案

您可能没有将 Cabal 路径作为 GHC 路径的一部分。

第1步

首先,试着找出你的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

第2步

如果您的系统上没有这样的目录,请查看 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步

第 3 步

查看该目录,看看是否有类似的文件
mighthttpd2-version-LONGHASHCODE.conf

如果它在那里,那么你可能需要重新缓存
ghc-pkg recache --user

关于haskell - cabal 不能卸载软件包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com