3种快速方法在终端中查找已安装的Perl模块的版本号
Perl模块的功能和行为可能会随着版本的不同而变化,因此了解已安装的Perl模块的版本号在多种场景下都很有用。以下是三种不同的命令行方法,用于在Bash和Windows Powershell中查找已安装模块的版本号。所以,打开终端并开始输入吧!
1. 使用带有-D标志的CPAN
cpan -D Moose
将上面的代码输入到终端中,将‘Moose’替换为您选择的Perl模块名称(在典型的Perl格式Namespace::ModuleName中,例如Catalyst::Runtime)。CPAN将报告模块的版本、安装位置、CPAN上可用的最新版本号,以及本地安装的模块版本是否为最新。输出结果如下
D/DO/DOY/Moose-2.0604.tar.gz
/home/sillymoose/perl5/perlbrew/perls/perl-5.14.2/lib/site_perl/5.14.2/x86_64-linux/Moose.pm
Installed: 2.0603
CPAN: 2.0604 Not up to date
Jesse Luehrs (DOY)
doy@cpan.org
2. 使用Perl单行命令加载并打印模块版本号
perl -MMoose -e 'print $Moose::VERSION ."\n";'
此命令使用Perl的-M标志加载模块,然后打印版本变量。这始终可以在$MODULENAME::VERSION下使用。使用单行命令可以避免使用CPAN,并且可以整洁地返回版本号,这可以很容易地用于进一步处理
2.0603
3. 使用带有-m标志的Perldoc加载模块的源代码并提取版本号。
# If you are using Bash:
perldoc -m Moose | grep VERSION
# If you are using Powershell:
perldoc -m Moose | select-string VERSION
虽然这种方法有点像黑客,但通常可以工作。不要忘记将Moose替换为您要查找的模块名称。输出可能会很混乱,但您通常可以找到版本号。如果上述方法1和方法2不工作,这是一个不错的选择。
$Moose::VERSION = '2.0603';
die "Class::MOP version $Moose::VERSION required--this is version $Class::MOP::VERSION"
if $Moose::VERSION && $Class::MOP::VERSION ne $Moose::VERSION;
=head1 VERSION
本文最初发布在PerlTricks.com上。
标签
反馈
这篇文章有什么问题吗?请通过在GitHub上打开问题或拉取请求来帮助我们。