代码之家  ›  专栏  ›  技术社区  ›  Mithaldu

如何确定CPAN发行版的哪些依赖项需要编译器?

  •  4
  • Mithaldu  · 技术社区  · 15 年前

    我需要在没有编译器的生产服务器上安装perl工具。我可以通过local::lib很好地安装CPAN发行版,但是缺少编译器意味着我必须要求系统管理员安装更多的模块。由于他们的平均周转时间为1-2周,即使是最荒谬的简单任务,尝试安装,要求他们安装的过程是非常痛苦的。

    所以,我如何快速找出dist的哪些依赖项需要c编译器,这样我就可以给它们一个列表了?

    4 回复  |  直到 15 年前
        1
  •  6
  •   David W.    15 年前

    当您在CPAN中搜索模块时 http://search.cpan.org 看看浏览器窗口的右边。在那里你会看到一个链接 依赖关系 . 这是下载模块的链接的正下方。

    如果你点击那个链接,它会带你到 http://deps.cpantesters.org 它将显示该模块的依赖关系树。例如,在File::Spec at中查看这个 http://deps.cpantesters.org/?module=File::Spec&perl=5.12.1&os=any+OS&pureperl=on&devperls=on .

    它不是完美的,但是它会让你知道你需要什么样的模块。

    最好的方法是使用 cpan 命令或 ppm Windows上的管理器。这些将自动下载相关模块。

        2
  •  4
  •   jira    15 年前

    也许您可以在测试服务器上安装所需的所有内容,然后使用 PAR ?

        3
  •  3
  •   Øyvind Skaar    15 年前

    正如David所说,cpantesters试图找出一个模块是否是“纯”的。。
    their explanation on how they do this 可能会有帮助。。

    或者我想你可以把这些模块安装在一个类似的系统上然后复制过来?还是违反了“规则”?;)

        4
  •  0
  •   Mithaldu    15 年前

    找到解决办法:

    使用Technet ProcMon(适用于Windows)或strace在Linux上跟踪系统调用,然后运行测试套件并筛选“/auto/”的结果。这样,您将看到它试图加载的所有dll,并可以计算出需要编译器的dists。