安装和管理多个 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 ...
从来没有关于我使用的是哪个工具或版本的问题。