我有很多Perl代码,在测试和生产中做不同的事情,我想把我的代码锁定到特定版本的CPAN模块,以防将来对其中一些模块进行更改,这可能会破坏我的代码。所以我想使用我使用的所有模块的特定版本。
use XML::Smart
字符串
ezykj2lf1#
要使用特定模块,请参阅only
use only MyModule => 0.30;
字符串如果您想要的模块版本高于当前安装的版本,也可以打印错误
use XML::Smart v1.6.9;
型或
use XML::Smart 1.6.9;
型或为了向后兼容
use XML::Smart 1.006_009;
型关于perldoc:
如果在Module和LIST之间存在VERSION参数,则use将调用类Module中的VERSION方法,并将给定的版本作为参数。从UNIVERSAL类继承的默认VERSION方法,如果给定的版本大于变量$Module::VERSION的值,则会崩溃。
p5fdfcr12#
你可以做低科技的事情:
BEGIN { use XML::Simple; die "..." unless XML::Simple->VERSION eq '1.23'; }
字符串知道一个特定的模块如何报告它的版本是一件令人头痛的事情。version模块应该做版本数学,但我发现它不可靠,因为有太多的方法来指定版本。
version
mlmc2os53#
如果你在项目根目录中使用cpanfile来声明对CPAN模块的依赖(你应该这样做),你可以在那里确定版本:
cpanfile
requires 'XML::Simple' => '== 1.23';
3条答案
按热度按时间ezykj2lf1#
要使用特定模块,请参阅only
字符串
如果您想要的模块版本高于当前安装的版本,也可以打印错误
型
或
型
或
为了向后兼容
型
关于perldoc:
如果在Module和LIST之间存在VERSION参数,则use将调用类Module中的VERSION方法,并将给定的版本作为参数。从UNIVERSAL类继承的默认VERSION方法,如果给定的版本大于变量$Module::VERSION的值,则会崩溃。
p5fdfcr12#
你可以做低科技的事情:
字符串
知道一个特定的模块如何报告它的版本是一件令人头痛的事情。
version
模块应该做版本数学,但我发现它不可靠,因为有太多的方法来指定版本。mlmc2os53#
如果你在项目根目录中使用
cpanfile
来声明对CPAN模块的依赖(你应该这样做),你可以在那里确定版本:字符串