perl模块的安装(以Bio::SeqIO为例)

perl模块的安装

什么情况下你需要自己安装perl模块呢,就是在你执行perl脚本时出现Can’t locate Bio/SeqIO.pm in @INC(XXXX),后面的XXXX是你执行perl -V中@INC的内容。

这时为了保证perl脚本运行成功,你就必须自行安装Bio/SeqIO.pm

这时,你会在网上看到各种安装教程,CPAN安装、手动安装等。但是,CPAN安装可能需要root权限(有对/usr/bin等目录操作,这些需要权限),所以会报错,这里我就不用了,直接手动安装。

手动安装共有perl模块

假设我安装的就是 Bio/SeqIO.pm

  1. CPAN官网https://metacpan.org/,搜索 Bio::SeqIO下载安装包BioPerl-1.7.8.tar.gz

  2. 上传并安装

    tar -zxvf ./BioPerl-1.7.8.tar.gz
    cd ./BioPerl-1.7.8
    perl Makefile.PL INSTALL_BASE=/home/zhaohuiyao/perl5	#指定安装目录
    make
    make install
    #安装结束,你可以进入/home/zhaohuiyao/perl5下查看安装结果,我发现我的SeqIO.pm安装到:/home/zhaohuiyao/perl5/lib/perl5/Bio/下
    #这是你需要将这个/home/zhaohuiyao/perl5/lib/perl5/添加到@INC变量中
    
    #如果你的.bashrc文件中已经有PERL5LIB这个变量了,你需要执行
    echo "export PERL5LIB=$PERL5LIB:/home/zhaohuiyao/perl5/lib/perl5" >>	/home/zhaohuiyao/.bashrc
    source /home/zhaohuiyao/.bashrc
    #或者,直接vim /home/zhaohuiyao/.bashrc文件,在变量PERL5LIB后面直接添加:/home/zhaohuiyao/perl5/lib/perl5,然后source
    
    #如果没有该变量,你则需要执行
    echo "export PERL5LIB="/home/zhaohuiyao/perl5/lib/perl5"" >>	/home/zhaohuiyao/.bashrc
    source /home/zhaohuiyao/.bashrc
    #再次执行perl -V,查看@INC的内容是否发生改变,若是没有,可以选择重新配置环境变量。这是环境变量配置错误,不是pm没有安装
    #再次执行perl脚本,则不会报错
    

手动安装软件自身的perl模块

就是配置环境变量,将软件自带的perl模块目录,添加到@INC中

  1. 首先,你要拿到这个perl模块的位置(.pm文件),通常在软件目录下的/lib下
  2. 然后,根据上面配置.bashrc文件即可,直到perl -V的结果中@INC添加了该perl模块的位置

你可能感兴趣的:(perl,开发语言)