我怎么能';使用';perl CPAN模块的特定版本?
我有很多在测试和生产中做不同事情的perl代码,我想将我的代码锁定到CPAN模块的特定版本,以防将来对其中一些模块进行一些更改,这可能会破坏我的代码 所以我想使用我使用的所有模块的特定版本。我指的是使用我怎么能';使用';perl CPAN模块的特定版本?,perl,cpan,perl-module,Perl,Cpan,Perl Module,我有很多在测试和生产中做不同事情的perl代码,我想将我的代码锁定到CPAN模块的特定版本,以防将来对其中一些模块进行一些更改,这可能会破坏我的代码 所以我想使用我使用的所有模块的特定版本。我指的是使用 use XML::Smart 要使用特定模块,请参阅 如果您想要的模块版本高于当前安装的版本,也可以打印错误 你可以说 use XML::Smart v1.6.9; 或 或 用于向后兼容性 use XML::Smart 1.006_009; 参考自: 使用模块版本列表 使用模块版
use XML::Smart
要使用特定模块,请参阅
如果您想要的模块版本高于当前安装的版本,也可以打印错误 你可以说
use XML::Smart v1.6.9;
或
或用于向后兼容性
use XML::Smart 1.006_009;
参考自:
- 使用模块版本列表
- 使用模块版本
- 使用模块列表
- 使用模块
- 使用版本
你可以做一些低技术的事情:
BEGIN {
use XML::Simple;
die "..." unless XML::Simple->VERSION eq '1.23';
}
了解特定模块如何报告其版本令人头痛。
version
模块应该进行版本计算,但我觉得它不可靠,因为指定版本的方法太多了。检查此线程是否有任何有用的信息:您就是Jeffrey Thalhammer的Pinto的确切用例。它在CPAN:To detailure:Pinto管理您的依赖链,允许您在特定版本中“固定”某些模块,同时允许其他模块在新版本发布时升级。您可以回滚更改,以及更多更改。这就像是专门针对Perl模块/发行版的版本控制。Pinto并不意味着其他人会忽略它并通过其他方式对其进行升级。这不会阻止新版本的使用。@ikegami-对此表示抱歉。更新模块的答案
use XML::Smart 1.006_009;
BEGIN {
use XML::Simple;
die "..." unless XML::Simple->VERSION eq '1.23';
}