介绍
Perl 5是一种成熟的全功能编程语言。 它用于所有类型的生产项目,包括世界各地的关键业务系统。 Perlbrew软件包允许您在Perl 5编程语言版本之间进行安装,删除和切换。
Perlbrew将Perl安装在您的主目录中,您安装的每个版本的Perl与其他版本是独立的。 这可以让您针对多个Perl版本测试代码,而不会干扰或受任何其他版本的影响。 这包括您的操作系统的默认Perl软件包,通常比最新的稳定版本更旧。
在本教程中,您将安装Perlbrew并使用它来安装和测试Perl 5版本。
先决条件
要遵循本指南,您需要:
- 通过遵循CentOS 7初始服务器设置指南设置一个CentOS 7服务器,包括sudo非root用户和防火墙。
第1步 - 安装Perlbrew
在安装Perlbrew之前,您将需要一些必备软件包。 Perlbrew需要gcc
,一个编译器和一个压缩实用程序bzip2
,以便编译和安装Perl。 这些软件包默认情况下不安装在CentOS 7上,但如果您已经在服务器上添加了一些软件包,则可能已经有这两个软件包。 你可以很容易地找到你所缺少的东西。
注意:以下示例中看到的软件包版本号可能会高于本指南中所示的版本号,因为这些软件包将定期进行修订。
建立Perl需要两个gcc相关的软件包, libgcc
和gcc
。 要查看是否已经有这些软件包,请执行以下命令:
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-libs
和bzip2
软件包。 检查它们是否已安装:
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
一旦您熟悉脚本的内容,将脚本管理为bash
以运行安装脚本:
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
中创建一些初始配置文件和/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
。
在编辑器中打开文件~/.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的以下输出:
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 use
或perlbrew switch
命令后,可以随时使用perlbrew off
命令perlbrew off
Perl的供应商版本。 如果您使用perlbrew switch
设置新的默认Perl,则可以使用perlbrew switch
来删除该默认设置。
没有标志的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,因此您可以安装应用程序所需的版本。