我想在我的 Perl 5.8.9 中安装 File::Fetch,它是 Perl 5.12 中的核心模块。一般来说,我想在回溯的 Perl 中编译和安装未来的模块,因为我无法升级我的 Perl。
所以我下载了该模块及其依赖项。遵循依赖关系树是相当痛苦的,但我更关心其中一些是核心模块的事实。如果我安装这些,我的 Perl 5.8.9 核心将包含 5.12 的补丁。
我的问题是我如何知道我是否可以安全地安装未来的模块,特别是核心模块。是否有用于测试 Perl 向后兼容性的教程?
EDIT:
我的模块是双重生命的,但我无法使用 cpan 编译它。它说我的 FTPsite.yaml 有一个坏元素。但是,我遵循了模块 META 文件中的依赖关系,并且可以编译该模块。这是 cpan 的奇怪位之一吗?谢谢。
手动安装所有这些依赖项后,我无法重现该问题。但这是错误:
cpan[5]> install File::Fetch
Running install for module 'File::Fetch'
Running make for B/BI/BINGOS/File-Fetch-0.24.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Time::HiRes loaded ok (v1.9715)
CPAN: YAML loaded ok (v0.72)
Alert: While trying to 'parse' YAML file
'/Users/martin/.cpan/FTPstats.yml'
with 'YAML' the following error was encountered:
YAML Error: Invalid element in map
Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
Line: 3
Document: 1
at /opt/local/lib/perl5/site_perl/5.8.9/YAML.pm line 36
如果该模块可以单独使用(即“双重生命”),既可以作为独立发行版,又可以作为内部核心 Perl,那么独立版本可以安全地安装在早期 Perl 上,假设其 Makefile 允许。也就是说,如果你能做到cpan <Module>
并且它的构建和测试没有错误,那么你就可以了。
唯一的问题是模块是否具有双重生命,我在这个问题 https://stackoverflow.com/questions/1546192/how-can-i-install-a-cpan-module-that-is-in-the-latest-perl-without-installing-th——这就是你可能处于 S.O.L. 的位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)