是否可以列出由Haskell cabal软件包安装的文件? 换句话说:有没有办法列出与Haskell软件包相关的文件?
例如,在基于Debian的系统(包括Ubuntu)中,可以使用dpkg -l
列出所有软件包,而dpkg -L package_name
可以使用列出与某个文件关联的文件。给定的包:
$ dpkg -L gzip
/.
/bin
/bin/gunzip
/bin/gzexe
/bin/gzip
/bin/uncompress
/bin/zcat
/bin/zcmp
/bin/zdiff
/bin/zegrep
/bin/zfgrep
/bin/zforce
/bin/zgrep
/bin/zless
/bin/zmore
/bin/znew
/usr
/usr/share
...
在Arch Linux上,pacman -Ql package_name
也可以达到相同的目的:
$ pacman -Ql gzip
gzip /usr/
gzip /usr/bin/
gzip /usr/bin/gunzip
gzip /usr/bin/gzexe
gzip /usr/bin/gzip
gzip /usr/bin/uncompress
gzip /usr/bin/zcat
gzip /usr/bin/zcmp
gzip /usr/bin/zdiff
gzip /usr/bin/zegrep
gzip /usr/bin/zfgrep
gzip /usr/bin/zforce
gzip /usr/bin/zgrep
gzip /usr/bin/zless
gzip /usr/bin/zmore
gzip /usr/bin/znew
gzip /usr/share/
...
最后,使用Python's PIP,可以使用pip show -f package_name
显示与软件包package_name
相关的文件。 1
是否有办法对使用cabal
或cabal
通过ghc-pkg
安装的软件包执行上述操作?我知道我可以使用ghc-pkg list
或cabal list --installed
列出软件包,但不能列出与特定软件包相关的文件。
答案 0 :(得分:2)
您可以使用ghc-pkg describe <pkgname>
来获取安装了软件包文件的目录的集合。受软件包安装影响的只有几件事情不会被提及:
ghc-pkg list
将为您显示两个标准数据库的位置。cabal info <pkgname>
获取可执行文件列表。~/.cabal/packages
;我对堆栈知之甚少,无法很好地回答该工具。