新版本的 Perl

新版本的 Perl

我在服务器上安装了 Perl 5.12,但是当我尝试检查正在运行的版本时,它显示的是 5.10。

我之前安装了 5.10,那么如何停用这个旧版本并将 5.12 设为默认版本?我在 Fedora 上运行。

答案1

一般来说,你不是想要删除/卸载系统 perl。这是坏的

相反,只需将新 perl 的安装路径添加到您的 PATH 中。或者将该 perl 符号链接或硬链接到您的 PATH 中的某个位置。

问题在于您的系统是针对特定级别的 Perl 进行测试的。您所使用的发行版附带的工具可能无法更新以与较新级别的 perl 配合使用。此外,如果您有一个二进制发行版(例如,基于 debian 或 RPM 等的发行版),您可能会从您的发行版安装包含包含 XS(C 代码)的 perl 模块的程序,而 debian/RPM/whatever 不一定能与新版本的 Perl 配合使用(绝对不能跨越 5.8/5.10 界限)。

所以你应该不要管系统 perl。

我所做的是:将 ~/bin 添加到我的 PATH 中,在 /usr/bin 之前,然后在那里将 perl 硬链接到所需的 Perl(我有多个)。然后我可以运行“perl工具如果我想使用我的 perl,或者我可以使用“#!/home/myuser/bin/perl”作为第一行来实现同样的想法。但是,对于通常位于 /usr/bin 或 /usr/sbin 中的系统工具,它们将以“#!/usr/bin/perl”作为第一行,并由该 perl 运行。

不要弄乱你的发行版。如果出现任何问题,你只能靠自己了。

答案2

首先,您需要检查您使用的是新版本的 perl 还是旧版本(在安装新版本之前您是否卸载了旧版本?要执行此操作:

 $ whereis perl
 perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz

然后你需要检查你的安装介质,看看新版本在哪里安装。如果不是同一个目录,那么你需要更新你的路径,在检查旧版本 perl 的目录之前,先搜索安装新版本 perl 的目录,或者直接卸载旧版本

答案3

如上所述,检查您的路径。运行其中(1)查看它在哪里找到正在执行的 perl 二进制文件:which perl应该可以解决问题。

而且您不需要卸载旧版本(尽管您可能想这么做):您运行的某些脚本可能需要旧版本。您永远不知道。

确保您的 perl 脚本的第一行是 shebang(命令 shell 使用它来选择要执行的脚本的解释器)。perl 的 shebang 行如下所示:

#!/path/to/desired/instance/of/perl -any -desired -perl -options -here

如果你的 perl 脚本看起来像

#!/usr/bin/perl

您将在该位置安装 perl 二进制文件。

相关内容