如何在CentOS上安装Perl 5

介绍

Perl5是一种全功能的编程语言。它用于所有类型的生产项目,包括世界各地的商业业务系统。Perlbrew是Perl5的安装和版本切换工具,您可以安装,删除,并在之间切换Perl版本。

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

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

准备

要开始本教程,您需要一个CentOS 7服务器,包括一个可以使用sudo命令的非root用户和防火墙,我们建议您使用腾讯云免费开发者实验室进行试验,或点击这里购买服务器。 关于防火墙配置,您可以参考腾讯云的安全组进行配置。

第一步 - 安装Perlbrew

在安装Perlbrew之前,您需要一些必备软件包。Perlbrew需要gccbzip2来编译和安装Perl。默认情况下,这些软件包不会安装在CentOS 7上。

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

rpm -qa | grep gcc

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

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

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

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版本。您将看到安装脚本中的以下输出结果:

## 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

您将看到以下输出结果:

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

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

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

在使用Perlbrew安装Perl版本之前,您应该编辑.bash_profile文件,以便自动设置一些重要的环境变量。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    

您应该看到类似于以下内容:

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

这些环境变量告诉Perlbrew目录所在的位置。输入which perlbrew应该识别perlbrew命令的完整路径:

which perlbrew

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

~/perl5/perlbrew/bin/perlbrew

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

第三步 - 安装和构建Perl版本

让我们使用Perlbrew来安装一个Perl5的稳定版本。使用该perlbrew命令查看可用于安装的Perl版本:

perlbrew available

您会看到类似于以下部分列表的内容:

  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的以下输出结果:

 perl-5.24.1 is successfully installed.

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

##### Brew Finished #####

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

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

第四步 - 管理新的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

您应该看到以下输出结果:

...
%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模块。

第五步 - 通过从CPAN安装来测试Perl

Perl提供了大量扩展核心语言的公共代码模块。这些模块存储在Comprehensive Perl Archive Network(CPAN)中。您可以通过CPAN来测试你的Perl是否可用。

App ::cpanminus是一个Perl模块,可让您浏览CPAN存储库和下载模块。我们来安装这个模块并用它来测试你的Perl的安装。确保您使用的是新的Perl来安装:

perlbrew use perl-5.24.1

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

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

您将看到以下输出结果:

--> 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

App::cpanminus
Perl

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

cpanm Email::Simple

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

perlbrew list-modules

您将看到以下输出结果:

App::cpanminus
Email::Date::Format
Email::Simple
Perl

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

结论

在本教程中,您安装了Perlbrew并使用它在您的主目录中安装Perl。您还学习了如何使用Perlbrew来安装和管理多个版本的Perl,以及如何使用该cpanm实用程序从CPAN存储库安装其他模块。您可以使用相同的过程来安装不同版本的Perl5,这样您就可以安装应用程序所需的版本。你学会了吗?更多Linux教程请前往腾讯云+社区学习,感谢你的阅读。

参考文献:《How to Install Perlbrew and Manage Multiple Versions of Perl 5 on CentOS 7》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开发之途

用WordPress搭建个人网站(1)

59060
来自专栏极客慕白的成长之路

Pan Download – 百度网盘不限速下载器

百度网盘作为目前国内最大的网盘服务,下载速度对普通用户一直都非常不友好。Pan Download 是由 Kiryuu@吾爱破解 开发的绿色软件,无需安装,即下即...

13240
来自专栏简书专栏

Python数据持久化-mysql篇

pymysql模块对python3的支持比较好 安装命令:pip install pymysql

21830
来自专栏前端人人

React多页面应用1(webpack4 开发环境搭建,包括热更新,api转发等)

本教程总共9篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React多页面应用1(webpack4 开发环境搭建...

60130
来自专栏王小雷

atom markdown转换PDF 解决AssertionError: html-pdf: Failed to load PhantomJS module

atom编辑器markdown转换PDF 解决AssertionError: html-pdf: Failed to load PhantomJS module...

50780
来自专栏地方网络工作室的专栏

mac 下使用 iTerm 终端工具无法使用 alt+b 和 alt+f 快捷键的解决方法

mac 下使用 iTerm 终端工具无法使用 alt+b 和 alt+f 快捷键的解决方法 对于常在终端下工作的人来说,输入命令是家常便饭。但是当我们的命令输入...

22660
来自专栏葡萄城控件技术团队

实战使用Axure设计App,使用WebStorm开发(6) – 迈向后端

 系列文章 实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求 实战使用Axure设计App,使用WebStorm开发(2...

20780
来自专栏java架构师

资源文件的动态加载

页面加载 首先,浏览器发起直接对目标html的请求,然后分析其中用到的资源并下载,浏览器有自己的规则来判断什么样的资源可以被并行下载,什么样的不可以,浏览器对加...

39190
来自专栏凉城

修改Windows 7 开机启动画面

24630
来自专栏進无尽的文章

干货-GitHub 使用中的一些细节

第一次使用 github 的朋友相信都会挺陌生的,因为是纯英文的页面加上不适太熟悉内部的操作,所以一些常规的操作却找不到操作的入口,甚是捉急,本文就几个操作细节...

20330

扫码关注云+社区

领取腾讯云代金券