如何在CentOS7上安装Perlbrew和管理多个版本的Perl5

来自菜鸟教程
跳转至:导航、​搜索

介绍

Perl 5 是一种成熟的、功能齐全的编程语言。 它用于所有类型的生产项目,包括世界各地的关键任务业务系统。 Perlbrew 软件包允许您安装、删除和切换 Perl 5 编程语言的版本。

Perlbrew 将 Perl 安装在您的主目录中,您安装的每个版本的 Perl 都独立于其他版本。 这使您可以针对多个 Perl 版本测试您的代码,而不会干扰或受任何其他版本的影响。 这包括您的操作系统的默认 Perl 包,它通常比最新的稳定版本老得多。

在本教程中,您将安装 Perlbrew 并使用它来安装和测试 Perl 5 的一个版本。

先决条件

要遵循本指南,您需要:

第 1 步 – 安装 Perlbrew

在安装 Perlbrew 之前,您需要一些必备软件包。 Perlbrew 需要编译器 gcc 和压缩实用程序 bzip2 来编译和安装 Perl。 这些软件包在 CentOS 7 上默认没有安装,但是如果你在你的服务器上添加了一些软件包,你可能已经有了这两个软件包。 你可以很容易地找出你缺少的东西。

注意: 您在以下示例中看到的软件包版本号可能高于本指南中显示的版本,因为这些软件包会定期进行修订。


构建 Perl 需要两个 gcc 相关的包,libgccgcc。 要查看您是否已经拥有这些包,请执行以下命令:

rpm -qa | grep gcc

如果它们已安装,您将看到以下输出:

Is the gcc package installed?libgcc-4.8.5-11.el7.x86_64
gcc-4.8.5-11.el7.x86_64

CentOS 7 默认只包含 libgcc 包,所以你可以使用以下命令安装 gcc

sudo yum install gcc 

您还需要 bzip2-libsbzip2 软件包。 检查它们是否也已安装:

rpm -qa | grep bzip2

如果它们都已安装,您将看到以下内容:

Is the bzip2 package installed?bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64

默认情况下,CentOS 7 仅包含 bzip2-libs 软件包。 添加bzip2包:

sudo yum install bzip2 

最后,安装 patch 实用程序。

sudo yum install patch

排除了先决条件后,您可以安装 Perlbrew。 将安装脚本下载到您的服务器:

curl -L https://install.perlbrew.pl -o install.perlbrew.pl

要在运行之前审核脚本的内容,请在文本编辑器中打开它以查看其内容:

vi install.perlbrew.pl

一旦您对脚本的内容感到满意,将脚本 pipebash 以运行安装脚本:

cat install.perlbrew.pl | bash

这将在 /home/sammy/perl5 中创建一个新的目录结构,Perlbrew 将在其中存储其支持文件和 Perl 版本。 您将看到安装脚本的以下输出:

Output## Download the latest perlbrew

## Installing perlbrew
perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew

perlbrew root (~/perl5/perlbrew) is initialized.

Append the following piece of code to the end of your ~/.bash_profile and start a
new shell, perlbrew should be up and fully functional from there:

    source ~/perl5/perlbrew/etc/bashrc

Simply run `perlbrew` for usage details.

Happy brewing!

## Installing patchperl

## Done.

接下来,使用 perlbrew 实用程序在 /home/sammy/perl5/perlbrew 中创建一些初始配置文件和目录:

~/perl5/perlbrew/bin/perlbrew self-install

您将看到以下输出:

OutputYou are already running the installed perlbrew:
    /home/sammy/perl5/perlbrew/bin/perlbrew

Perlbrew 现在已安装,但您需要修改 shell 的配置文件以使其更易于使用。

第 2 步 - 编辑您的 .bash_profile 以包含 Perlbrew

在使用 Perlbrew 安装 Perl 版本之前,您应该编辑您的 .bash_profile 文件,以便它自动设置一些重要的 Perlbrew 环境变量。 Perlbrew 通过将所需代码包含在另一个配置文件中来简化此操作,您可以将其包含在 .bash_profile 中。

在编辑器中打开文件 ~/.bash_profile

vi ~/.bash_profile

在文件底部添加以下行以包含 Perlbrew 设置:

source ~/perl5/perlbrew/etc/bashrc

保存文件并退出编辑器。

然后注销然后重新登录以确保您的 .bash_profile 文件加载 Perlbrew 的设置。 它现在会将 /home/sammy/perl5/perlbrew/bin 添加到您的 PATH 环境变量的前面,并设置 Perlbrew 需要的一些其他环境变量。

通过运行 env 命令和 使用 grep 对文本 PERL 过滤结果来验证这些环境变量是否已设置:

env | grep PERL                                                                                                                  

您应该会看到类似于以下内容的条目:

OutputPERLBREW_BASHRC_VERSION=0.78  
PERLBREW_ROOT=/home/sammy/perl5/perlbrew
PERLBREW_HOME=/home/sammy/.perlbrew

这些环境变量告诉 Perlbrew 重要目录的位置。 如果 Perlbrew 在本教程发布后进行了修订,版本号可能会更高。

键入 which perlbrew 现在应该识别 perlbrew 命令的完整路径:

which perlbrew

您应该在终端中看到以下内容:

Expected Output~/perl5/perlbrew/bin/perlbrew

现在 Perlbrew 已经安装并配置好了,让我们开始使用它。

第 3 步 - 安装和构建您的 Perl 版本。

让我们使用 Perlbrew 来安装 Perl 5 的稳定版本。 使用 perlbrew 命令查看可以安装的 Perl 版本:

perlbrew available

您将看到类似于以下部分列表的列表:

Partial Listing  perl-5.25.11
  perl-5.24.1
  perl-5.22.3
  perl-5.20.3
  perl-5.18.4
  ...

奇数主要版本,例如 perl-5.25,正在积极开发中,不被认为是稳定的或生产就绪的。 通常,您不会使用早于 5.10.1 的版本,除非您有需要这些旧版本之一的遗留代码。

根据输出,perl-5.24.1 是最新的稳定版本,因为它具有最大的偶数主编号。 您可以选择列表中显示的任何 Perl 版本,但对于本教程,我们将安装 perl-5.24.1

perlbrew install 安装它:

perlbrew install perl-5.24.1

Perl 安装可能需要相当长的时间来构建和安装,通常大约需要 20 分钟。 不要中断构建过程。 如果您想查看构建的进度,您可以打开一个单独的终端会话并使用 tail -f ~/perl5/perlbrew/build.perl-5.24.1.log 监控构建日志。

构建完成后,您将看到 Perlbrew 的以下输出:

[secondary_label Output] 
perl-5.24.1 is successfully installed.

构建完成后,构建日志文件的最后一行将是:

Output
##### Brew Finished #####

您可以为要安装的每个 Perl 版本重复此过程。 本指南仅演示安装一个版本,但可以根据需要对多个版本重复此步骤。

接下来,让我们看看如何使用 Perlbrew 来处理多个版本的 Perl。

第 4 步 - 管理新的 Perl 安装

此时,您的系统上有两个版本的 Perl:操作系统提供的供应商版本,以及您刚刚使用 Perlbrew 安装在 ~/perl5 目录中的 Perl 版本。

要使用新的 Perl 安装,请运行以下命令:

perlbrew use perl-5.24.1

此命令更新 PERLBREW_PERL 环境变量以指向当前登录会话的指定 Perl 版本。

如果您希望每次登录时都默认使用某个 Perl 版本,请运行以下命令:

perlbrew switch perl-5.24.1

每次登录时,此命令都会将 PERLBREW_PERL 环境变量设置为指向指定的 Perl 版本。

验证您现在使用的是 Perl 5.24.1:

perl -V

您应该看到以下输出:

Parial Output...
%ENV:
    PERLBREW_BASHRC_VERSION="0.78"
    PERLBREW_HOME="/home/sammy/.perlbrew"
    PERLBREW_MANPATH="/home/sammy/perl5/perlbrew/perls/perl-5.24.1/man"
    PERLBREW_PATH="/home/sammy/perl5/perlbrew/bin:/home/sammy/perl5/perlbrew/perls/perl-5.24.1/bin"
    PERLBREW_PERL="perl-5.24.1"
    PERLBREW_ROOT="/home/sammy/perl5/perlbrew"
    PERLBREW_VERSION="0.78"
@INC:
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
    .

Perlbrew 只安装核心 Perl 代码。 要查看哪些模块构成特定 Perl 版本的核心,请执行以下命令:

corelist -v 5.24.1

在使用 perlbrew useperlbrew switch 命令后的任何时候,您都可以使用命令 perlbrew off 返回到使用 Perl 的供应商版本。 如果您使用 perlbrew switch 设置新的默认 Perl,您可以使用 perlbrew switch-off 删除该默认设置。

perlbrew 命令不带标志发出,生成一个简单的有用命令列表。 命令 perlbrew help 生成更详细的帮助信息。

让我们安装一些额外的 Perl 模块。

第 5 步 – 通过从 CPAN 安装模块来测试您的 Perl 安装

Perl 提供了大量扩展核心语言的公共代码模块。 这些模块存储在综合 Perl 归档网络 (CPAN) 中。 您正在考虑编写的代码可能已经在 CPAN 中编写、测试并可用。 您可以使用 CPAN 存储库 来避免重新发明轮子。

App::cpanminus 是一个 Perl 模块,可让您探索 CPAN 存储库并下载模块。 它很受欢迎且易于使用。 让我们安装这个模块并用它来测试你的新 Perl 安装。

确保您使用的是新的 Perl 安装:

perlbrew use perl-5.24.1

使用以下命令安装 cpanminus 模块:

curl -L https://cpanmin.us | perl - App::cpanminus

您将看到以下输出:

Output--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz ... OK
Configuring App-cpanminus-1.7043 ... OK
Building and testing App-cpanminus-1.7043 ... OK
Successfully installed App-cpanminus-1.7043
1 distribution installed

验证 cpanminus 模块现在是否存在:

perlbrew list-modules

您应该在输出中看到 App::cpanimus

OutputApp::cpanminus
Perl

您现在可以使用命令行实用程序 cpanm 来安装其他模块及其依赖项。 让我们使用它来安装 Email::Simple 模块,如果您正在编写一些 Perl 代码来发送电子邮件,则需要该模块。

cpanm Email::Simple

安装完成后,再次查看模块列表:

perlbrew list-modules

您将看到以下输出:

Expected OutputApp::cpanminus
Email::Date::Format
Email::Simple
Perl

Email::Simple 模块需要 Email:Date::Format 模块。 cpanm 程序为您安装了依赖项。

如果您不确定要安装什么来完善您的核心 Perl 安装,请查看 Task::Kensho,它描述了许多模块,这些模块解决了被认为是生产就绪的各种任务。

结论

在本教程中,您安装了 Perlbrew 并使用它在您的主目录中安装本地版本的 Perl。 您还学习了如何使用 Perlbrew 安装和管理多个版本的 Perl,以及如何使用 cpanm 实用程序从 CPAN 存储库安装附加模块。 您可以使用相同的过程来安装不同版本的 Perl 5,因此您可以安装您的应用程序所需的版本。