繁体   English   中英

如何列出Haskell cabal软件包安装的文件?

[英]How to list files installed by a Haskell cabal package?

有没有办法列出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的PIP ,可以使用pip show -f package_name显示与package package_name关联的文件。 1个

对于使用cabalghc-pkg通过cabal安装的软件包,是否有上述方法? 我知道我可以使用ghc-pkg listcabal list --installed列出软件包,但不能列出与特定软件包相关的文件。

您可以使用ghc-pkg describe <pkgname>来获取安装软件包文件的目录的集合。 受软件包安装影响的只有几件事情不会被提及:

  1. GHC软件包数据库本身已被修改。 ghc-pkg list将显示两个标准数据库的位置。
  2. GHC不知道软件包安装的可执行文件。 您可以使用cabal info <pkgname>来获取可执行文件列表。
  3. 您的构建工具(即cabal-install或stack)可能会保留软件包元数据和源的缓存; 从任何有意义的意义上讲,它们实际上并不是“安装”的-删除它们不会破坏任何内容-但它们是安装过程中修改的文件系统的一部分。 对于cabal-install,此缓存默认为~/.cabal/packages 我对堆栈知之甚少,无法很好地回答该工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM