Perl Library getopts.pl

Perl Library

Posted by dulunar on November 8, 2019 | 访问量:

错误来源

在运行HLAreporter.v103的时候碰到一些问题,其中之一是缺少perl的一个脚本getopts.pl:

Can't locate getopts.pl in @INC (@INC contains: /home/luna/perl5/lib/perl5/5.26.1/x86_64-linux-gnu-thread-multi /home/luna/perl5/lib/perl5/5.26.1 /home/luna/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/luna/perl5/lib/perl5 /home/luna/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/luna/Desktop/Software/ensembl-vep /home/luna/Desktop/Software/ensembl-vep-97/ensembl-vep /home/luna/perl5/lib/perl5/5.26.1/x86_64-linux-gnu-thread-multi /home/luna/perl5/lib/perl5/5.26.1 /home/luna/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /home/luna/perl5/lib/perl5 /home/luna/perl5/lib/perl5/lib/perl5/x86_64-linux-gnu-thread-multi /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /home/luna/perl5/lib/perl5/5.26.0 /home/luna/perl5/lib/perl5/5.26.0/x86_64-linux-gnu-thread-multi /home/luna/perl5/lib/perl5/5.26.0 /home/luna/perl5/lib/perl5/5.26.0/x86_64-linux-gnu-thread-multi /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ../ssake_v3-8-tar/ssake_v3-8/SSAKE line 52.

粗一看觉得这个程序不是和module Getopt::Long是一样的么,我的perluse Getopt::Long;用的好好的怎么会出现这个问题,没搞清楚;

后来查了一下这个getopts.pl的程序,发现了一句话:

getopts.pl is a Perl 4 core library but no longer included in current Perl 5 distributions.

解决方案

找到了问题,就比较简单的可以解决了,以前安装perlmodule一直用的perl -MCPAN -e shell,幸好自己有root的权限,这一次想着全部安装在自己的目录下面,所以安装了一下cpanm这个perl安装module的程序:

curl -L http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.bashrc && cp ~/.bashrc ~/.bash_profile
. ~/.bashrc

安装和配置好以后,就可以方便的安装perl module:

cpanm -v --notest -l /home/luna/perl5 Perl4::CoreLibs

参考

Linux上安装Perl模块的两种方法

使用 cpanm 安装 Perl 模块

perl library getopts.pl

Perl4::CoreLibs

								—— dulunar 后记于 2019.11