Ocaml 在Opam中,如何判断哪个包拥有给定的文件?

Ocaml 在Opam中,如何判断哪个包拥有给定的文件?,ocaml,opam,Ocaml,Opam,在Opam中,我如何判断在${OPAMROOT}/system下哪个包拥有给定的文件?如果没有直接的方法来实现这一点,是否可以列出给定软件包拥有的文件?没有这样的工具,因为opam允许软件包几乎在任何地方安装其文件。但总体结构非常简单,大多数软件包都尊重它: 每个安装的软件包在lib、etc、doc和share中都有自己的子文件夹 对于每个包opam创建一个条目install/.install,如果在安装过程中使用了opam提供的特殊设施,该条目可能包含此包安装的文件 二进制文件被放入bin或s

在Opam中,我如何判断在
${OPAMROOT}/system
下哪个包拥有给定的文件?如果没有直接的方法来实现这一点,是否可以列出给定软件包拥有的文件?

没有这样的工具,因为
opam
允许软件包几乎在任何地方安装其文件。但总体结构非常简单,大多数软件包都尊重它:

  • 每个安装的软件包在
    lib
    etc
    doc
    share
    中都有自己的子文件夹
  • 对于每个包
    opam
    创建一个条目
    install/.install
    ,如果在安装过程中使用了opam提供的特殊设施,该条目可能包含此包安装的文件
  • 二进制文件被放入
    bin
    sbin
    而无需进一步细分

  • lib和build目录中的目录应该按照它们来自的包命名。配置和安装文件由包命名。我猜,你可能还在想别的事情。@nlucaroni宾果!也有一些例外,比如findlib是否安装camlp4的元文件。我正在寻找一个系统的工具,它总是工作。它似乎没有积极的答案,这个问题!你的建议符合我自己的用法,这可能是我们在这个方向上所能做的。谢谢