perl包的安裝

沒(méi)有學(xué)習(xí)過(guò)perl語(yǔ)言,但是某些程序需要使用perl,就總結(jié)perl的一些包的安裝方法
在cpan https://metacpan.org/ 搜索對(duì)應(yīng)的包的名稱(chēng)
選擇有黃色方框鏈接。
在左邊找到Download下載源碼

image.png

下載完成后。

tar -zxvf DBI-1.643.tar.gz
cd DBI-1.643
perl Makefile.PL 
make
make test
make install

非root折磨死人,也安裝不上makemaker,下載的包編譯需要一堆依賴(lài)。決定自己編譯一個(gè)perl
在自己目錄安裝perl,注意configure時(shí)候,-Dusethreads -Uinstalluserbinperl一定要加上,用于開(kāi)啟多線(xiàn)程。否則,可能需要重新編譯。

cd ~/soft/perl
wget -4 http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz
tar -zxvf perl-5.26.1.tar.gz
cd perl-5.26.1
./Configure -des -Dprefix=$HOME/soft/perl/perl-5.26.1 -Dusethreads -Uinstalluserbinperl
make -j8
make -j8 test
make -j8 install
echo 'export PATH=$HOME/soft/perl/perl-5.26.1:$PATH' >>~/.bashrc
source ~/.bashrc

請(qǐng)一定不要自己安裝perl的模塊并配置到環(huán)境變量,一定要用cpan或cpanm安裝,否則是后患無(wú)窮。你再用capnm安裝其他模塊時(shí)候,會(huì)報(bào)錯(cuò)的。

如果是非root權(quán)限,需要指定目錄。

pecify the installation into ~/perl5
    cd perl-module/
    perl Makefile.PL PREFIX=~/perl5
    make
    make test
    make install
echo 'export PERL5LIB="$HOME/perl5/:$PERL5LIB" '>>~/.bashrc

更多非root安裝perl包的方法,見(jiàn)參考

如果是Ubuntu,且是root,可以直接使用apt安裝
apt-get install libswitch-perl

非root安裝rpm包
rpm包查找地址https://pkgs.org/download/perl(ExtUtils::MakeMaker)選擇對(duì)應(yīng)的系統(tǒng),對(duì)應(yīng)的版本軟件的二進(jìn)制文件

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/perl-ExtUtils-MakeMaker-6.68-3.el7.noarch.rpm
#解壓縮到本地目錄,生成`usr`文件
rpm2cpio perl-ExtUtils-MakeMaker-6.68-3.el7.noarch.rpm|cpio -idvm
mv usr perl-ExtUtils-MakeMaker
echo 'export PATH=/share/softwares/LWP/perl/perl-ExtUtils-MakeMaker/bin:$PATH' >>~/.bashrc

更多信息參考地址http://www.itdecent.cn/p/9e90b3524fe2,按照這個(gè)可以正確安裝。
先安裝local-lib

wget https://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz
tar xf local-lib-2.000024.tar.gz
cd local-lib-2.000024
perl Makefile.PL --bootstrap=~/opt
make test && make install
echo 'eval "$(perl -I$HOME/opt/lib/perl5 -Mlocal::lib=$HOME/opt)"' >> ~/.bashrc

重啟終端

wget https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz
tar xf App-cpanminus-1.7043.tar.gz
cd App-cpanminus-1.7043
perl Makefile.PL
make test && make install

添加國(guó)內(nèi)鏡像

echo 'alias cpanm="cpanm --mirror http://mirrors.163.com/cpan --mirror-only"' >>~/.bashrc
source ~/.bashrc

只有在安裝 cpanm后,需要自己在~/ .cpanm目錄下創(chuàng)建一個(gè)文件才可以用。

mkdir ~/ .cpanm/CPAN
cd  ~/ .cpanm/CPAN
touch MyConfig.pm

把下面內(nèi)容寫(xiě)入MyConfig.pm文件。

\$CPAN::Config = {
  'auto_commit' => q[0],
  'build_cache' => q[10],
  'build_dir' => q[\$ENV{HOME}/.cpan/build],
  'cache_metadata' => q[1],
  'commandnumber_in_prompt' => q[1],
  'cpan_home' => q[\$ENV{HOME}/.cpan],
  'dontload_hash' => {  },
  'ftp' => q[/usr/bin/ftp],
  'ftp_passive' => q[1],
  'ftp_proxy' => q[],
  'getcwd' => q[cwd],
  'gpg' => q[/usr/bin/gpg],
  'gzip' => q[/bin/gzip],
  'histfile' => q[\$ENV{HOME}/.cpan/histfile],
  'histsize' => q[100],
  'http_proxy' => q[],
  'inactivity_timeout' => q[0],
  'index_expire' => q[1],
  'inhibit_startup_message' => q[0],
  'keep_source_where' => q[\$ENV{HOME}/.cpan/sources],
  'lynx' => q[/usr/bin/lynx],
  'make' => q[/usr/bin/make],
  'make_arg' => q[],
  'make_install_arg' => q[],
  'make_install_make_command' => q[/usr/bin/make],
  'makepl_arg' => q[PREFIX=\$ENV{HOME}/perlmods],
  'mbuild_arg' => q[],
  'mbuild_install_arg' => q[],
  'mbuild_install_build_command' => q[./Build],
  'mbuildpl_arg' => q[],
  'ncftpget' => q[/usr/bin/ncftpget],
  'no_proxy' => q[],
  'pager' => q[less],
  'prerequisites_policy' => q[follow],
  'scan_cache' => q[atstart],
  'shell' => q[/bin/bash],
  'tar' => q[/bin/tar],
  'term_is_latin' => q[0],
  'term_ornaments' => q[1],
  'unzip' => q[/usr/bin/unzip],
  'urllist' => [q[ftp://cpan.cse.msu.edu/], q[ftp://cpan-du.viaverio.com/pub/CPAN/], q[ftp://cpan.mirrors.redwire.net/pub/CPAN/], q[ftp://cpan.hostrack.net/pub/CPAN]],
  'use_sqlite' => q[0],
  'wget' => q[/usr/bin/wget],
};
1;
__END__

每次修改完環(huán)境變量后,最好重啟終端。我最開(kāi)始一直提示是缺少makemaker包,通過(guò)在自己目錄安裝新版本的perl解決了這個(gè)問(wèn)題。

使用cpanm安裝perl包

#安裝bioperl(模塊比較多,安裝時(shí)間比較長(zhǎng))
cpanm Bio::Perl
#安裝DBI
cpanm DBI
#安裝LWP
cpanm LWP
#安裝Switch.pm
cpanm Switch

cpanm還可以指定安裝的鏡像地址或者從本地安裝

wget https://cpan.metacpan.org/authors/id/H/HA/HAARG/Catalyst-Devel-1.42.tar.gz
#下載完成后,直接從本地安裝
cpanm ./Catalyst-Devel-1.42.tar.gz

查看已經(jīng)安裝有那些perl的模塊或包。

復(fù)制下面這段命令到一個(gè)新的文件,命名為check.pl.

#!/usr/bin/perl
use strict;
use ExtUtils::Installed;
my $inst= ExtUtils::Installed->new();
my @modules = $inst->modules();
foreach(@modules)
{
       my $ver = $inst->version($_) || "???";
       printf("%-12s --  %s\n", $_, $ver);
}
 exit ;

運(yùn)行這個(gè)新的檢查腳本,perl check.pl即可輸出所有的包和版本號(hào)。

有時(shí)候cpanm安裝包的時(shí)候會(huì)提示安裝成功了,一定要檢測(cè)一下安裝的版本號(hào)是否正確。有時(shí)候?qū)嶋H并沒(méi)有安裝成功。

分別查看DBI包和GD包的版本號(hào)。

perl -MDBI -E 'say DBI->VERSION'
perl -MGD -E 'say GD->VERSION'

如果你有自己或別人編寫(xiě)的*.pm格式的模塊文件

export PERL5LIB=/path/PfamScan:$PERL5LIB把這條命令加到~/.bashrc即可把/path/PfamScan目錄里的本地的*.pm包加到環(huán)境中。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容