分享

生信平台搭建(五):安装perl模块

 生物_医药_科研 2019-06-08

perl模块也是生物信息分析中经常需要配置的东西,尽管很多人觉得python很流行,但是依然有大量的生物软件依赖于perl模块,如果配置不正确就无法运行,典型的就是circos,里面调用大量perl的模块,缺少任何一个都无法运行。因此配置perl模块是很重要的一项工作。

Can't locate XXX.pm

如果遇到这种错误,就是缺少相应的perl模块,导致软件无法运行。perl模块一般安装到以下目录中,如果所有的目录都没有,就会提示找不到。

perl -e 'print join '\n',@INC;'

yum安装

因为perl模块是Linux世界中非常重要的组成部分,因此centos或者ubuntu默认的软件源中都会内置大量perl的模块,采用这种方式安装是最好的方式,因为来自软件源里的内容都会安装成功,并且自动解决好依赖。首推这种方式。
这里是circos必须的模块。

Carp
Clone
Config::General
Cwd
Data::Dumper
Digest::MD5
File::Basename
File::Spec::Functions
File::Temp
FindBin
Font::TTF::Font
GD
GD::Image
Getopt::Long
IO::File
List::MoreUtils
List::Util
Math::Round
Math::Trig
Math::VecStat
Memoize
Params::Validate
Pod::Usage
POSIX
Readonly
Regexp::Common
Statistics::Basic
Storable
Sys::Hostname
Text::Balanced
Text::Format
Time::HiRes

1、首先,利用yum search进行搜索,例如

yum search Config::General

2、找到对应的模块,使用安装即可。

yum install -y perl-Config-General.noarch

cpanm安装

但是并不是所有的perl模块都在yum的软件源里,很多依然无法使用yum来安装。以前有cpan工具来安装,不过现在又有了更加好用的cpanm工具来管理perl的模块。
1、首先安装cpanm工具

yum search cpanm
yum install -y perl-App-cpanminus.noarch

2、利用cpanm进行安装,由于cpanm默认将模块安装到每个用户的家目录下,这样如果使用root来安装,安装到/root目录下其他用户无法使用,因此,需要单独指定安装目录。

cpanm --help
cpanm  --mirror https://mirrors.163.com/cpan --prompt  -l /usr/share/perl5  Carp Clone Config::General Cwd SVG Data::Dumper  Digest::MD5 File::Basename  File::Spec::Functions  File::Temp Font::TTF::Font GD GD::Image Getopt::Long IO::File List::MoreUtils List::Util Math::VecStat Memoize Math::Bezier Set::IntSpan Params::Validate Pod::Usage POSIX Readonly Regexp::Common Storable Sys::Hostname Text::Balanced Text::Format Time::HiRes IO::String IO::Scalar YAML PerlIO parent XML::Parser FindBin Math::Round Getopt::Long XML::NamespaceSupport XML::SAX::Base XML::SAX XML::Quote XML::Simple PerlIO::gzip URI::Escape Mail::Send Date::Format

如果安装完依然找不到模块,因为cpanm会在创建bin,lib,man三个目录,lib有包含一个perl5目录,这就需要将路径添加到PERL5LIB变量中。

export PERL5LIB=/usr/share/perl5/lib/perl5:$PERL5LIB 

一步到位

如果你为了省事,那么可以运行以下代码,一步到位。

yum search perl-  #搜索所有软件源里的perl模块
yum install -y perl-*  #安装所有软件源里的perl模块


---------- END ----------

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多