【问题标题】:How can I list all CPAN modules depending on a given module?如何根据给定模块列出所有 CPAN 模块?
【发布时间】:2010-03-16 21:49:41
【问题描述】:

如何根据给定模块列出所有 CPAN 模块?例如,使用 Class::Workflow 创建一个模块列表?

【问题讨论】:

    标签: perl cpan


    【解决方案1】:

    关于依赖有两个有效的问题:

    • 给定模块需要哪些模块?

    • 反过来的问题:哪些模块依赖于给定的模块?

    对于前者,权威但非递归的答案是通常来查看作为大多数现代发行版一部分的 META.yml 文件。如果没有这样的文件,您可以尝试查看随附的 Makefile.PL 或 Build.PL 构建工具。如果您想了解 所有 依赖项,而不仅仅是直接依赖项,请参阅。 ghostdog74 的回答。具体来说,David Cantrell 的'CPANDeps' 非常非常方便。

    显然,后一个问题无法通过检查模块本身来回答。如果您不想 grep 解压的 minicpan,最好的解决方案是模块的 CPANTS 条目的“used by”部分。

    【讨论】:

    • 上次我检查时,CPANTS 信息并不是那么好。它假定模块名称来自它们在 lib/ 下的路径,因此我的一些模块似乎很受欢迎。例如,参见 Test::URI。
    • CPANdeps 也会反过来。现在它只上升了一层,但让它成为一棵树是待办事项列表。
    【解决方案2】:

    您可以使用诸如CPAN::Dependency 之类的模块,或尝试在线this 等等。

    【讨论】:

      【解决方案3】:

      我在 CPAN 上找到了 CPAN::DependencyCPAN::FindDependencies,它们可能会对您有所帮助。

      【讨论】:

        【解决方案4】:

        其他一些选项:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-09-24
          • 2011-08-07
          • 2011-12-08
          • 2013-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-08-22
          相关资源
          最近更新 更多