【问题标题】:How to run multiple Perl installs on one machine?如何在一台机器上运行多个 Perl 安装?
【发布时间】:2011-06-29 08:12:54
【问题描述】:

是否可以在一台机器上运行多个 Perl 安装(在“容器”中)?

原因是我有不同的基于 Perl 的服务器端 Web 应用程序,并希望独立安排对它们的更新。

例如,在我看来,bugzilla 升级似乎非常具有侵入性,下载所有方式或模块更新并且时间也很长(从而增加了在升级期间依赖这些模块的其他应用程序出现不可预知行为的可能性仍然是部分)。

我认为应该可以在一台服务器上运行多个独立的服务器端 CGI Perl 应用程序,我宁愿不要被告知将它们分开到不同的机器上——我认为这很浪费,而且我也没有那种资源.

【问题讨论】:

    标签: perl


    【解决方案1】:

    【讨论】:

    • +1 谢谢。我将不得不接受我需要花一些时间来研究它以了解它是如何工作的。但在那之前,我可能会接受你的回答。我会把这个问题留得更久,看看是否有其他人愿意做出贡献。我希望 O'Reilly 可以更新他们的 Perl 系列如何使用它,我喜欢他们可读的指导性指南。
    • perlbrew.pl - ++JACKPOT++ !!!谢谢!!!喜欢这句话“不再需要运行 sudo 来安装 CPAN 模块。”是的!!!不再需要侵入性地全局安装影响整个系统中所有内容的模块。我会检查其他链接。谢谢。接受的答案。
    【解决方案2】:

    安装和管理多个 perls 很容易。只需将它们安装在不同的地方并使用每个 perl 的工具。我在The Effective Perler 中谈论这个。

    有些人建议使用 perlbrew,却没有意识到它并没有真正给您带来任何好处。它可以下载 perl、配置和安装它,并切换符号链接以将其中一个设为默认链接。不过,它并没有做任何神奇的事情。

    虽然下载和安装不是问题。你从来不需要 root 或 sudo 来做这件事,如果你这样做了,你仍然需要它来进行 perlbrew。您始终可以安装到您有权限的任何目录中。 perlbrew 根本没有解决这个问题。在源目录中,您可以运行两个简单的命令:

     $./Configure -des -Dprefix=/where/you/want/to/install
     $ make install
    

    对你来说,这可能意味着 Bugzilla 拥有自己的 perl:

     $./Configure -des -Dprefix=/where/you/want/to/install/bugzilla-perl
     $ make install
    

    从那里,您拥有一个完全独立的 perl 安装。当我使用哪个 perl 对我很重要时,我会为程序提供完整的路径:

     #!/where/you/want/to/install/bugzilla-perl/bin/perl
    

    在没有 perlbrew 的情况下进行这些每个应用程序的安装要容易得多,它希望为您做尽可能多的事情,包括决定目录名称,它希望您根本不知道。

    perlbrew 的主要优点不是编译和安装,而是switch 功能让您可以将一个 perl 设为默认值。不过,您可能不想要该功能,因为您希望 bugzilla、CGI 程序等只使用您希望它们使用的 perl,而不是您上次指定的任何默认 perl。

    当您想更新 bugzilla-perl 时,只需使用它的工具,这些工具已经调整了 shebang 行以找到正确的 perl:

     $ /where/you/want/to/install/bugzilla-perl/bin/cpan ...
    

    不过,我不喜欢所有这些漫长的路径,这就是我创建links to them all 的原因。然后我可以用我决定的任何命名方案来调用它们,这可能是:

     $ bugzilla-cpan ...
    

    从来没有关于我使用的是哪个工具或版本的问题。

    【讨论】:

    • +1 感谢 brian d foy。我明白你在说什么,我会考虑再回来。你的书有 pdf 格式吗?
    猜你喜欢
    • 2017-11-17
    • 2018-06-10
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多