介绍
Perl 5是一个成熟的、功能齐全的编程语言,用于各种类型的生产项目,包括世界各地的关键业务系统。
Perlbrew 在您的主目录中安装 Perl,并且您安装的每一个版本的 Perl 都是独立于其他版本的,这使您可以测试您的代码与多个 Perl 版本相比,而不会干扰或受到任何其他版本的影响。
在本教程中,您将安装Perlbrew,并使用它来安装和测试Perl 5的版本。
前提条件
要跟随这个指南,你需要:
- 一个 CentOS 7 服务器通过遵循 CentOS 7 初始服务器设置指南设置,包括一个 sudo 非 root 用户和一个防火墙。
步骤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-libs
和bzip2
包,看看它们是否已安装:
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 use
或perlbrew 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存储库中安装额外的模块。