本文最新更新版本:https://www.yuque.com/shenweiyan/cookbook/install-perl-from-source

Perl 是一种功能丰富的计算机程序语言,运行在超过 100 种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发。在生物信息分析领域,Perl 主要是做数据预处理、文本处理和格式转换、对算法效率要求不高的分析软件开发,系统管理和 pipeline 搭建等工作。这里对 Linux(主要是 CentOS)、windows 下 Perl 的安装做一个备忘。

1. CentOS 7 下安装 Perl

1.1 源码包下载

在官方网站下载新版本的源码包:http://www.perl.org/get.html,我下载的是 perl-5.26.1.tar.gz。

1.2. 解压,设置源码

$ tar zvxf perl-5.26.1.tar.gz
$ cd perl-5.26.1
$ ./Configure --help
Usage: Configure [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value][-U symbol] [-U symbol=] [-A command:symbol...]-d : use defaults for all answers.-e : go on without questioning past the production of config.sh.-f : specify an alternate default configuration file.-h : print this help message and exit (with an error status).-r : reuse C symbols value if possible (skips costly nm extraction).-s : silent mode, only echoes questions and essential information.-D : define symbol to have some value:-D symbol         symbol gets the value 'define'-D symbol=value   symbol gets the value 'value'common used examples (see INSTALL for more info):-Duse64bitint            use 64bit integers-Duse64bitall            use 64bit integers and pointers-Dusethreads             use thread support-Dinc_version_list=none  do not include older perl trees in @INC-DEBUGGING=none          DEBUGGING options-Dcc=gcc                 choose your compiler-Dprefix=/opt/perl5      choose your destination-E : stop at the end of questions, after having produced config.sh.-K : do not use unless you know what you are doing.-O : ignored for backward compatibility-S : perform variable substitutions on all .SH files (can mix with -f)-U : undefine symbol:-U symbol    symbol gets the value 'undef'-U symbol=   symbol gets completely emptye.g.:  -Uversiononly-A : manipulate symbol after the platform specific hints have been applied:-A append:symbol=value   append value to symbol-A symbol=value          like append:, but with a separating space-A define:symbol=value   define symbol to have value-A clear:symbol          define symbol to be ''-A define:symbol         define symbol to be 'define'-A eval:symbol=value     define symbol to be eval of value-A prepend:symbol=value  prepend value to symbol-A undef:symbol          define symbol to be 'undef'-A undef:symbol=         define symbol to be ''e.g.:  -A prepend:libswanted='cl pthread '-A ccflags=-DSOME_MACRO-V : print version number and exit (with a zero status).# 设置源码
$ ./Configure -des -Dprefix=/usr/local/software/Perl-5.26 -Dusethreads -Uversiononly

1.3 编译安装

$ make
......
make[1]: *** [IO.o] Error 1
make[1]: Leaving directory `/users/rmi1/build/perl-5.12.0/dist/IO'
Unsuccessful make(dist/IO): code=512 at make_ext.pl line 449.
make: *** [lib/auto/IO/IO.so] Error 2

如果在 make 编译过程中出现如上报错,请参考 Make error when compiling Perl 5.12.1 (RHEL 5.5) 执行下面操作:

$ make clean
$ unset C_INCLUDE_PATH
$ ./Configure -des -Dprefix=/usr/local/software/Perl-5.26 -Dusethreads -Uversiononly
$ make

继续验证编译,执行安装:

$ make test
$ make install   # 命令完成后,基本安装就完成了

1.4 调整环境变量

在 ~/.bashrc 中把 perl 添加到 PATH 中,然后 source ~/.bashrc 刷新。

export PATH="/usr/local/software/Perl-5.26/bin:$PATH"

1.5 安装完成

$ perl -versionThis is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux-threadCopyright 1987-2017, Larry WallPerl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

查看 perl 配置汇总信息:

$ perl -V    # 该命令会把对应 perl 配置、模块路径所有信息汇总打印出来
Summary of my perl5 (revision 5 version 26 subversion 0) configuration:Platform:osname=linuxosvers=2.6.32-696.10.1.el6.x86_64
......Built under linuxCompiled at Sep 17 2017 16:35:49@INC:/usr/local/software/Perl-5.26/lib/perl5/site_perl/5.26.1/x86_64-linux/usr/local/software/Perl-5.26/lib/perl5/site_perl/5.26.1/usr/local/software/Perl-5.26/lib/perl5/5.26.1/x86_64-linux/usr/local/software/Perl-5.26/lib/perl5/5.26.1

2. Windows 7 下安装 Perl

Windows 下的 Perl 安装推荐使用 ActivePerl(https://www.activestate.com/products/activeperl/),安装步骤如下。

2.1 安装包下载

在这里我们下载 64-bit 的 Perl-5.26.3。

2.2 安装与设置

ActivePerl-5.26.3.2603-MSWin32-x64-a95bce075.exe 安装包下载完后,我们直接点击进行安装。

选择 “Custom” 自定义安装:

自定义安装路径:

把 Perl 添加到系统环境变量:

Perl 安装完成后,我们在 DOC 命令行输入 perl -V,可以看到详细的相关信息:

如果我们在安装过程中没有勾选把 Perl 添加到系统环境变量,DOC 中直接执行 perl -V 会出现 “‘perl’ is not recognized as an internal or external command” 提示,这时候我们需要手动把 perl 添加到 Windows 的系统环境变量中就可以了。

2.3 配置cpan

为了更好对 Perl 进行扩展,方便以后的模块安装,我们最好配置一下 cpan。ActivePerl 有个好处就是在初始化 cpan 的时候会自动把 dmake、gcc、g++、mingw32-make 等 windows 常用的编译工具一起安装到 “$Dprefix/site/bin” 目录下,免去了我们手动安装这些编译器的各种麻烦。

2.4 安装完成

到这里,windows 下的 ActivePerl(perl-5.26)就安装完成了!

各个平台下 Perl 源码安装教程相关推荐

  1. 最新二开抢单系统淘宝自动抢单源码安装教程

    最新二开抢单系统淘宝自动抢单源码安装教程 [2次开发版]2020最新五代分佣抢单系统唯品会京东淘宝自动抢单区块源码 新增理财宝收益分佣功能 五代分佣 新增用户提现手续费 2020年02月04日升级 新 ...

  2. ansible1.7.2源码安装教程

    ansible1.7.2源码安装教程 ================================================================================= ...

  3. mysql data文件夹恢复_【专注】Zabbix源码安装教程—步骤详解(2)安装并配置mysql...

    四.安装并配置mysql(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz #tar -xvf mysql-5.7.26.tar.gz #tar -xvf bo ...

  4. php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备

    一.实验环境准备 Rhel 7.6 x86_64(server) 192.168.163.72 Rhel 6.5 x86_64(agent) 192.168.163.61 均已配置操作安装光盘为YUM ...

  5. 各种平台下Perl模块的安装方法

    各种平台下Perl模块的安装方法 来源:http://www.linuxforum.net David lee (2001-04-21 18:11:53) Perl到了第五版增加了模块的概念,用来提供 ...

  6. 最详细新版网课联盟27刷网课平台源码+安装教程+最新模板+下载地址

    新版网课联盟27刷网课平台源码+安装教程+最新模板 第一步:准备一个服务器+域名 没有域名暂时使用服务器网址也可以 第二步:上传文件 上传文件到wwwroot上面,进行解压 第三步:进行防伪静态设置: ...

  7. php网站源码安装教程

    php网站源码安装教程 1.可以选择购买一个支持php的空间,空间的大小要足够大于你要在空间上传的源码文件,另外空间的速度一定要快,否则会影响到你用户的体验度,好的空间最好速度能达到100兆,这样体验 ...

  8. 微云二手车运营版 公众号+小程序v1.1.20+微信小程序+抖音端源码安装教程

    系统包括PC+公众号+小程序v1.1.20+微信小程序+抖音小程序前端,使用前先在后台初始化下数据.播播资源网技术小编看了下说明是带PC端功能,但后台没找到设置的地方,不过公众号+小程序+抖音也够用了 ...

  9. LNMP源码安装教程

    NGINX源码安装 # 切换阿里的源# yum -y install wget# sudo mv CentOS-Base.repo CentOS-Base.repo.bak# sudo wget -O ...

  10. 微小区v11.1.1 (公众号+小程序模块版)源码安装教程

    微小区微擎模块版很早以前使用过,非常合适物业公司或者集团式物业公司公众号应用,一个平台多个小区.多个物业公司管理,非常好的物业解决方案,每个小区都可以单独设置自己的小区主页,业主打开平台时会提示选择小 ...

最新文章

  1. 技术向:一文读懂卷积神经网络
  2. python列表分割_python列表分割
  3. java生成固定长度随机数
  4. java设计模式之用王者荣耀打开观察者模式(附代码实例)每天一学设计模式
  5. 基于 Elasticsearch 存储的HBase二级索引方案
  6. tf.saved_model
  7. CN2专线和普通国际对比优势在哪里 有什么优势
  8. 20120912新工作感想
  9. python 剔除nan_Pandas的数据清洗-删除NaN数据
  10. Powershell运行脚本异常:无法加载文件...因为在此系统上禁止运行脚本
  11. 使用网站域名封装Web2App
  12. 计算机师范专业行业分析,前景最好的4个师范专业,有行业“香馍馍”之称,别不信...
  13. 在dhcp服务器上新建一个作用域需要定,在DHCP服务器上创建一个IP地址作用域,它的名称为“offi - 问答库...
  14. PAMI2012跟踪算法TLD的配置(Tracking-learning-detection)
  15. 关于成本核算方法、步骤、成本分析
  16. 青少年CTFmisc 简简单单的题目
  17. java左右摇摆_java – 按边缘排列摇摆组件
  18. IPSEC实验(IPSECVPN点到点,DSVPN,IPSECVPN旁挂)
  19. prism 视图发现
  20. oracle 分组过滤空值,oracle 空值处理,排序过滤

热门文章

  1. 台湾医院:自主研发移动护理系统 跟软件公司说拜拜
  2. 连接mysql集群_mysql集群
  3. Dreamweaver简单的表格附加代码
  4. 接口测试流程和用例设计
  5. Python使用Reportlab处理PDF数据 - 段落
  6. react引入本地mp4视频
  7. 华为_ensp_vlan接口模式
  8. 网页版bpc电波对时_BPC电波对时app
  9. 第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
  10. 基于Multisim的555时基电路