如何在 CentOS 7 上安装 Perlbrew 和管理多个版本的 Perl 5

介绍

Perl 5是一个成熟的、功能齐全的编程语言,用于各种类型的生产项目,包括世界各地的关键业务系统。

Perlbrew 在您的主目录中安装 Perl,并且您安装的每一个版本的 Perl 都是独立于其他版本的,这使您可以测试您的代码与多个 Perl 版本相比,而不会干扰或受到任何其他版本的影响。

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

前提条件

要跟随这个指南,你需要:

步骤1:安装 Perlbrew

在安装 Perlbrew 之前,您需要一些先决条件的包。Perlbrew 需要gcc,一个编译器和bzip2,一个压缩工具,以便编译和安装 Perl。

<$>[注] 注: 您在以下示例中看到的包版本号可能高于本指南中显示的版本,因为这些包定期进行修订。

构建 Perl 需要两个 gcc 相关的包,‘libgcc’ 和 ‘gcc’. 若要查看您是否已经有这些包,请执行以下命令:

1rpm -qa | grep gcc

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

1[secondary_label Is the gcc package installed?]
2libgcc-4.8.5-11.el7.x86_64
3gcc-4.8.5-11.el7.x86_64

CentOS 7 默认情况下仅包含libgcc包,因此您可以使用以下命令安装gcc:

1sudo yum install gcc

您还需要bzip2-libsbzip2包,看看它们是否已安装:

1rpm -qa | grep bzip2

如果两者都安装了,你会看到以下内容:

1[secondary_label Is the bzip2 package installed?]
2bzip2-libs-1.0.6-13.el7.x86_64
3bzip2-1.0.6-13.el7.x86_64

默认情况下,CentOS 7 只包含bzip2-libs包,添加bzip2包:

1sudo yum install bzip2

最后,安装修补程序

1sudo yum install patch

有了先决条件,您可以安装 Perlbrew. 下载安装脚本到您的服务器:

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

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

1vi install.perlbrew.pl

一旦您对脚本的内容感到满意, pipe将脚本设置为bash,以运行安装脚本:

1cat install.perlbrew.pl | bash

这将在 /home/sammy/perl5 中创建一个新的目录结构,Perlbrew 将存储其支持文件和 Perl 版本。

 1[secondary_label Output]
 2## Download the latest perlbrew
 3
 4## Installing perlbrew
 5perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew
 6
 7perlbrew root (~/perl5/perlbrew) is initialized.
 8
 9Append the following piece of code to the end of your ~/.bash_profile and start a
10new shell, perlbrew should be up and fully functional from there:
11
12    source ~/perl5/perlbrew/etc/bashrc
13
14Simply run `perlbrew` for usage details.
15
16Happy brewing!
17
18## Installing patchperl
19
20## Done.

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

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

您将看到以下输出:

1[secondary_label Output]
2You are already running the installed perlbrew:
3    /home/sammy/perl5/perlbrew/bin/perlbrew

Perlbrew 现在已安装,但您将需要修改壳的配置文件,以便更容易使用。

步骤 2 – 编辑您的 .bash_profile 以包含 Perlbrew

在使用 Perlbrew 来安装 Perl 版本之前,您应该编辑您的 .bash_profile 文件,以便它自动设置一些重要的 Perlbrew 环境变量。

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

1vi ~/.bash_profile

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

1source ~/perl5/perlbrew/etc/bashrc

保存文件并离开编辑器。

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

通过运行env命令并将结果与grep过滤(https://andsky.com/tech/tutorials/using-grep-regular-expressions-to-search-for-text-patterns-in-linux)对文本PERL进行设置,确认这些环境变量:

1env | grep PERL

你应该看到类似于以下的条目:

1[secondary_label Output]
2PERLBREW_BASHRC_VERSION=0.78  
3PERLBREW_ROOT=/home/sammy/perl5/perlbrew
4PERLBREW_HOME=/home/sammy/.perlbrew

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

输入哪个perlbrew现在应该识别到perlbrew命令的完整路径:

1which perlbrew

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

1[secondary_label Expected Output]
2~/perl5/perlbrew/bin/perlbrew

现在Perlbrew已安装和配置,让我们开始使用它。

步骤 3 – 安装和构建您的Perl版本。

让我们使用 Perlbrew 来安装 Perl 的稳定版本 5. 使用perlbrew 命令来查看哪些 Perl 版本可供安装:

1perlbrew available

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

1[secondary_label Partial Listing]
2  perl-5.25.11
3  perl-5.24.1
4  perl-5.22.3
5  perl-5.20.3
6  perl-5.18.4
7  ...

特殊编号的主要版本,如「perl-5.25」正在积极开发中,并未被认为是稳定或准备好生产的版本.一般来说,除非您有需要这些旧版本之一的旧代码,否则您将不会使用比「5.10.1」更老的版本。

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

使用 Perlbrew 安装:

1perlbrew install perl-5.24.1

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

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

1[secondary_label Output] 
2perl-5.24.1 is successfully installed.

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

1[secondary_label Output]
2
3##### Brew Finished #####

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

接下来,让我们看看如何使用 Perlbrew 与多个版本的 Perl 一起工作。

步骤 4 – 管理您的新 Perl 安装

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

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

1perlbrew use perl-5.24.1

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

如果您希望 Perl 的版本是您每次登录的默认版本,请运行此命令:

1perlbrew switch perl-5.24.1

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

請確定您現在正在使用 Perl 5.24.1:

1perl -V

你应该看到以下结果:

 1[secondary_label Parial Output]
 2...
 3%ENV:
 4    PERLBREW_BASHRC_VERSION="0.78"
 5    PERLBREW_HOME="/home/sammy/.perlbrew"
 6    PERLBREW_MANPATH="/home/sammy/perl5/perlbrew/perls/perl-5.24.1/man"
 7    PERLBREW_PATH="/home/sammy/perl5/perlbrew/bin:/home/sammy/perl5/perlbrew/perls/perl-5.24.1/bin"
 8    PERLBREW_PERL="perl-5.24.1"
 9    PERLBREW_ROOT="/home/sammy/perl5/perlbrew"
10    PERLBREW_VERSION="0.78"
11@INC:
12    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
13    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
14    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
15    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
16    .

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

1corelist -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 中编写、测试并可用。

App::cpanminus是一个Perl模块,允许您探索CPAN存储库和下载模块。它很受欢迎,易于使用。

确保您正在使用新的 Perl 安装:

1perlbrew use perl-5.24.1

安装 cpanminus 模块:

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

您将看到以下输出:

1[secondary_label Output]
2--> Working on App::cpanminus
3Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz ... OK
4Configuring App-cpanminus-1.7043 ... OK
5Building and testing App-cpanminus-1.7043 ... OK
6Successfully installed App-cpanminus-1.7043
71 distribution installed

检查 cpanminus 模块是否现在存在:

1perlbrew list-modules

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

1[secondary_label Output]
2App::cpanminus
3Perl

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

1cpanm Email::Simple

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

1perlbrew list-modules

您将看到以下输出:

1[secondary_label Expected Output]
2App::cpanminus
3Email::Date::Format
4Email::Simple
5Perl

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

如果您不确定要安装什么来完成您的核心 Perl 安装,请参阅 Task::Kensho,其中描述了许多模块,解决了广泛的任务,这些任务被认为是生产准备的。

结论

在本教程中,您安装了Perlbrew,并使用它在您的主目录中安装了本地版本的Perl,您还了解了如何使用Perlbrew来安装和管理多个版本的Perl,以及如何使用cpanm实用程序从CPAN存储库中安装额外的模块。

Published At
Categories with 技术
comments powered by Disqus